Mercurial > mercurial > hgweb_golang.cgi
changeset 41:34a474fb83c3
add perori/porori/nk.
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Nk/README.txt Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,31 @@ +***************************************************************************** +* ”F’è‚È‚ç‚Ñ‚©‚¦(’ÊÌ:’´‚T) * +***************************************************************************** + +1) ƒtƒ@ƒCƒ‹‚Ì€”õ‚ð‚µ‚ÄB + a> ”í•ÛŒ¯ŽÒØ‚Ì Docuworksƒtƒ@ƒCƒ‹‚ð inputƒtƒHƒ‹ƒ_‚ɓЂ°ž‚ñ‚Å‚ËB + ƒtƒ@ƒCƒ‹–¼FKBPG316G.xdwAKBPG316G-1.xdwA...“™ + + b> Œ‹‰Ê’Ê’m‚Ì Docuworksƒtƒ@ƒCƒ‹‚ð inputƒtƒHƒ‹ƒ_‚ɓЂ°ž‚ñ‚Å‚ËB + ƒtƒ@ƒCƒ‹–¼FKBPG206G.xdwAKBPG206G-1.xdwA...“™ + KBPG706G.xdwAKBPG706G-1.xdwA...“™ + + c> •‰’SŠ„‡Ø‚Ì Docuworksƒtƒ@ƒCƒ‹‚ð inputƒtƒHƒ‹ƒ_‚ɓЂ°ž‚ñ‚Å‚ËB + ƒtƒ@ƒCƒ‹–¼FKBPV016G.xdwAKBPV016G-1.xdwA...“™ + +2) ’´‚T.bat ‚ðƒJƒ`ƒJƒ`‚·‚邯 ””Ô‚ð•·‚¢‚Ä‚‚é‚̂Š555 ‚Æ‚©“ü—Í‚·‚éB + ‚ÆAoutputƒtƒHƒ‹ƒ_‚É 3‚Â‚Ì Docuworksƒtƒ@ƒCƒ‹ ‚Æ 1‚Â‚Ì PDFƒtƒ@ƒCƒ‹A + ‚»‚ê‚É 1‚Â‚Ì CSV ƒtƒ@ƒCƒ‹‚ª‚Å‚«‚邿B + + * hs.xdw -> ”í•ÛØ + * kt.xdw -> Œ‹‰Ê’Ê’m + * fw.xdw -> •‰’SŠ„‡Ø(ˆóü‚µ‚È‚¢) + * fw4.pdf -> •‰’SŠ„‡Ø 4l1‘g”Å + * out.csv -> ˆê—— + +0) ‚»‚Ì‘¼ + * ”í•ÛŒ¯ŽÒî•ñƒtƒ@ƒCƒ‹ hhsdb.csv ‚Í’èŠú“I‚ÉXV‚·‚邱‚ÆB + * ‹‘î‰îŒìŽx‰‡Ž–‹ÆŠ‚ªV‹K‚ɂł«‚½‚èA–¼‘O‚ª•Ï‚í‚Á‚½ê‡‚ÍAnk.json ‚ð + •ÒW‚·‚邱‚ÆB + +**** ‚¨‚µ‚Ü‚¢ ***************************************************************
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Nk/fw4.pl Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,115 @@ +########################################################### +## 入力ファイルを 4分割割付ã™ã‚‹ +## Last Change: 2020-01-21 ç« 14:34:27. +########################################################### + +use PDF::API2; + +my ($in_file, $out_file) = ($ARGV[0], $ARGV[1]); +if ($in_file eq '' || $out_file eq '') { + print "bad arguments.\n"; + exit; +} +my $tmpdir = $ARGV[2]; +$tmpdir = '.' if $tmpdir eq ''; + +## 入力ファイルã®å¾ŒåŠã‚’上下å転ã•ã› å‰åŠã®ä¸‹éƒ¨ã«å°å— +my $in_odd = 0; # 奇数? + +# 後åŠã®ãƒšãƒ¼ã‚¸(回転付ã) +my $in_pdf = PDF::API2->open($in_file); +$in_odd = 1 if $in_pdf->pages % 2 == 1; + +my $n = int($in_pdf->pages / 2) + 1; +$n++ if $in_odd; +my $lh_pdf = PDF::API2->new(); +for my $p ( $n..$in_pdf->pages ) { + my $page = $lh_pdf->import_page($in_pdf, $p); + $page->rotate(180); +} +$lh_pdf->saveas("$tmpdir/lasthalf.pdf"); +$lh_pdf->end; + +# 移動 +$lh_pdf = PDF::API2->open("$tmpdir/lasthalf.pdf"); +my $lhm_pdf = PDF::API2->new(); +for my $p ( 1..$lh_pdf->pages ) { + my $page = $lhm_pdf->page(); + $page->mediabox('B5'); + my $gfx = $page->gfx(); + my $xo = $lhm_pdf->importPageIntoForm($lh_pdf, $p); + $gfx->formimage($xo, -230, 330, 1.0); +} +$lhm_pdf->saveas("$tmpdir/lasthalfmove.pdf"); +$lhm_pdf->end; + +# 割付 +my $page; +my $new2_pdf = PDF::API2->new(); +$lhm_pdf = PDF::API2->open("$tmpdir/lasthalfmove.pdf"); +for my $p ( 1..$n-1 ) { + $page = $new2_pdf->page(); + $page->mediabox('B5'); + + my $gfx = $page->gfx(); + my $xo1 = $new2_pdf->importPageIntoForm($in_pdf, $p); + $gfx->formimage($xo1, -30, 0, 1.0); + + last if $p == $n-1 && $in_odd; + my $xo2 = $new2_pdf->importPageIntoForm($lhm_pdf, $p); + $gfx->formimage($xo2, 0, -350, 1.0); +} + +$new2_pdf->saveas("$tmpdir/2.pdf"); +$new2_pdf->end; + +## 入力ファイルã®å¾ŒåŠã‚’å‰åŠã®å³å´ã«å°å— +$in_odd = 0; # 奇数? + +# 後åŠã®ãƒšãƒ¼ã‚¸(回転ãªã—) +$in_pdf = PDF::API2->open("$tmpdir/2.pdf"); +$in_odd = 1 if $in_pdf->pages % 2 == 1; + +$n = int($in_pdf->pages / 2) + 1; +$n++ if $in_odd; +$lh_pdf = PDF::API2->new(); +for my $p ( $n..$in_pdf->pages ) { + my $page = $lh_pdf->import_page($in_pdf, $p); + #$page->rotate(180); +} +$lh_pdf->saveas("$tmpdir/lasthalf2.pdf"); +$lh_pdf->end; + +# 移動 +$lh_pdf = PDF::API2->open("$tmpdir/lasthalf2.pdf"); +$lhm_pdf = PDF::API2->new(); +for my $p ( 1..$lh_pdf->pages ) { + my $page = $lhm_pdf->page(); + $page->mediabox('B5'); + my $gfx = $page->gfx(); + my $xo = $lhm_pdf->importPageIntoForm($lh_pdf, $p); + $gfx->formimage($xo, 130, 0, 1.0); +} +$lhm_pdf->saveas("$tmpdir/lasthalf2move.pdf"); +$lhm_pdf->end; + +# 割付 +my $new4_pdf = PDF::API2->new(); +$lhm_pdf = PDF::API2->open("$tmpdir/lasthalf2move.pdf"); +for my $p ( 1..$n-1 ) { + $page = $new4_pdf->page(); + $page->mediabox('B5'); + + my $gfx = $page->gfx(); + my $xo1 = $new4_pdf->importPageIntoForm($in_pdf, $p); + $gfx->formimage($xo1, 0, 0, 0.98); + + last if $p == $n-1 && $in_odd; + my $xo2 = $new4_pdf->importPageIntoForm($lhm_pdf, $p); + $gfx->formimage($xo2, 125, 0, 0.98); + #$gfx->formimage($xo2, 122, 0, 0.98); +} + +$new4_pdf->saveas($out_file); +$new4_pdf->end; +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Nk/nk.go Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,795 @@ +/* + nk.go: Nintei Kekka + + Last Change: 2020-01-24 金 09:18:04. +*/ + +package main + +/* +#cgo LDFLAGS: -L. -lxdwapi -static +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <io.h> +#include <windows.h> +#include <xdw_api.h> +#include <xdwapian.h> + +#define MAXCOL 1024 +#define MAXLINE 9999 +#define BLOCKSZ 128 + +int xdwpages(const char* file) { + char in_path[_MAX_PATH]; + _fullpath(in_path, file, _MAX_PATH); + + XDW_DOCUMENT_HANDLE h = NULL; // 文書ãƒãƒ³ãƒ‰ãƒ«ã‚’é–‹ã + XDW_OPEN_MODE_EX mode = {sizeof(XDW_OPEN_MODE_EX), XDW_OPEN_READONLY, XDW_AUTH_NODIALOGUE}; + if (XDW_OpenDocumentHandle(in_path, &h, (XDW_OPEN_MODE*)&mode)) { + printf("Error: cannot open %s\n", file); + return -1; + } + + XDW_DOCUMENT_INFO info = {sizeof(XDW_DOCUMENT_INFO), 0, 0, 0}; // ç·ãƒšãƒ¼ã‚¸æ•°ã‚’å¾—ã‚‹ + XDW_GetDocumentInformation(h, &info); + int nPage = info.nPages; + + XDW_CloseDocumentHandle(h, NULL); // 文書ãƒãƒ³ãƒ‰ãƒ«ã‚’é–‰ã˜ã‚‹ + + return nPage; +} + +char* xdw2txt(const char* file) { + char in_path[_MAX_PATH]; + _fullpath(in_path, file, _MAX_PATH); + + XDW_DOCUMENT_HANDLE h = NULL; // 文書ãƒãƒ³ãƒ‰ãƒ«ã‚’é–‹ã + XDW_OPEN_MODE_EX mode = {sizeof(XDW_OPEN_MODE_EX), XDW_OPEN_READONLY, XDW_AUTH_NODIALOGUE}; + if (XDW_OpenDocumentHandle(in_path, &h, (XDW_OPEN_MODE*)&mode)) { + printf("Error: cannot open %s\n", file); + return NULL; + } + + XDW_DOCUMENT_INFO info = {sizeof(XDW_DOCUMENT_INFO), 0, 0, 0}; // ç·ãƒšãƒ¼ã‚¸æ•°ã‚’å¾—ã‚‹ + XDW_GetDocumentInformation(h, &info); + int nPage = info.nPages; + + // ãƒ¡ã‚¤ãƒ³å‡¦ç† + char *lpszvalue, *all_lpszvalue; + long datasize[9999]; + for (int i=1; i<=nPage; i++) { + datasize[i] = XDW_GetPageTextToMemory(h, i, NULL, 0, NULL); + datasize[0] += datasize[i]; + } + datasize[0] += nPage - 1; // for "\n" + all_lpszvalue = (char*)malloc(sizeof(char)*datasize[0]); + all_lpszvalue[0] = '\0'; + for (int i=1; i<=nPage; i++) { + if (i<nPage) datasize[i]++; // for "\n" + lpszvalue = (char*)malloc(sizeof(char)*(datasize[i])); + XDW_GetPageTextToMemory(h, i, lpszvalue, datasize[i], NULL); + strcat(all_lpszvalue, lpszvalue); + if (i<nPage) strcat(all_lpszvalue, "\n"); + free(lpszvalue); + } + + XDW_CloseDocumentHandle(h, NULL); // 文書ãƒãƒ³ãƒ‰ãƒ«ã‚’é–‰ã˜ã‚‹ + return all_lpszvalue; +} + +int xdwpush(const char* file1, const char* file2) { + char in_path[_MAX_PATH], add_path[_MAX_PATH]; + _fullpath(in_path, file1, _MAX_PATH); + _fullpath(add_path, file2, _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); + int last_page = info.nPages; + + api_result = XDW_InsertDocument(h, last_page+1, add_path, NULL); + if (api_result < 0) api_result; + + XDW_SaveDocument(h, NULL); + XDW_CloseDocumentHandle(h, NULL); + + return (api_result >= 0); +} + +int xdwaddatn(const char* file, char* atnlist) { + char in_path[_MAX_PATH]; + _fullpath(in_path, 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); + + char *str, *token; + char *saveptr1, *saveptr2; + int x, y, sz, tr; + char *s; + + for (str = atnlist; ; str = NULL) { + token = strtok_r(str, ":", &saveptr1); + if (token == NULL) break; + //printf("%s\n", token); + + // atn.X, atn.Y, atn.Sz, tr, atn.Txt + x = atoi(strtok_r(token, ",", &saveptr2)); + y = atoi(strtok_r(NULL , ",", &saveptr2)); + sz = atoi(strtok_r(NULL, ",", &saveptr2)); + tr = atoi(strtok_r(NULL, ",", &saveptr2)); + s = strtok_r(NULL, ",", &saveptr2); + //printf("x=%d y=%d txt=%s sz=%d tr=%d\n", x, y, s, sz, tr); + + for (int i = 0; i < info.nPages; i++ ) { + XDW_ANNOTATION_HANDLE annoation; + int api_result = XDW_AddAnnotation(h, XDW_AID_TEXT, i + 1, x, y, NULL, &annoation, NULL); + + if (api_result < 0) return api_result; + + api_result = XDW_SetAnnotationAttribute(h, annoation, XDW_ATN_Text, XDW_ATYPE_STRING, s, 0, NULL); + api_result = XDW_SetAnnotationAttribute(h, annoation, XDW_ATN_FontSize, XDW_ATYPE_INT, (char*)&sz, 0, NULL); + + if (tr) { + int color = XDW_COLOR_NONE; + api_result = XDW_SetAnnotationAttribute(h, annoation, XDW_ATN_BackColor, XDW_ATYPE_INT, (char*)&color, 0, NULL); + } + } + } + + XDW_SaveDocument(h, NULL); + XDW_CloseDocumentHandle(h, NULL); + + return 0; +} + +int xdwsort(const char* file, const char* sorted, const char* order, const char* workdir, const char* prefix) { + char buf[MAXCOL]; + + // ãƒ¡ãƒ¢ãƒªç¢ºä¿ + char *sl = (char*)malloc(MAXLINE * sizeof(char) * MAXCOL); + if (sl == NULL) return -1; + + int slN = 0; + char *p; + p = strtok(order, ":"); + strncpy(&sl[slN * MAXCOL], p, MAXCOL); + slN++; + + while (p = strtok(NULL, ":")) { + strncpy(&sl[slN * MAXCOL], p, MAXCOL); + slN++; + } + + //for (int j = 0; j < slN; j++) printf("%d : %s\n", j, &sl[j * MAXCOL]); + //return 0; + + // é‡ã¿ä»˜ã‘ = 並ã³é † + char in_path[_MAX_PATH]; + _fullpath(in_path, file, _MAX_PATH); + + XDW_DOCUMENT_HANDLE h = NULL; + XDW_OPEN_MODE_EX mode = {sizeof(XDW_OPEN_MODE_EX), XDW_OPEN_READONLY, 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); + int last_page = info.nPages; + + int *table = (int*)malloc(sizeof(int) * last_page); + for (int p = 0; p < last_page; p++) *(table + p) = 9999; + + int index = 0; + XDW_FOUND_HANDLE pFoundHandle = NULL; + for (int i = 0; i < slN; i++) { + for (int p = 0; p < last_page; p++) { + if (*(table + p) != 9999) continue; + + api_result = XDW_FindTextInPage(h, p + 1, &sl[i * MAXCOL], NULL, &pFoundHandle, NULL); + if (api_result < 0) return api_result; + + if (pFoundHandle != NULL) { + *(table + p) = ++index; + pFoundHandle = NULL; + } + } + } + free(sl); + + for (int p = 0; p < last_page; p++) { + if (*(table + p) == 9999) *(table + p) = ++index; + + sprintf(buf, "%s/%s_%04d.xdw", workdir, prefix, *(table + p)); + _fullpath(in_path, buf, _MAX_PATH); + + api_result = XDW_GetPage(h, p + 1, in_path, NULL); + if (api_result < 0) return api_result; + } + free(table); + XDW_CloseDocumentHandle(h, NULL); + + // ブãƒãƒƒã‚¯å‡¦ç† + char *blk_path = (char*)malloc(BLOCKSZ * sizeof(char) * _MAX_PATH); + const char **blk_path_addr = (const char**)malloc((last_page / BLOCKSZ + 1) * sizeof(char*) * _MAX_PATH); + + int bn = 0; + for (int p = 0, m = 0; p < last_page; p++) { + m = p % BLOCKSZ; + + if (m == 0 && p > 0) { + sprintf(buf, "%s/%s_b%04d.xdw", workdir, prefix, ++bn); + _fullpath(in_path, buf, _MAX_PATH); + + api_result = XDW_MergeXdwFiles(blk_path_addr, BLOCKSZ, in_path, NULL); + if (api_result < 0) return api_result; + } + + sprintf(buf, "%s/%s_%04d.xdw", workdir, prefix, p + 1); + _fullpath(in_path, buf, _MAX_PATH); + + strncpy(&blk_path[m * _MAX_PATH], in_path, _MAX_PATH); + + blk_path_addr[m] = &blk_path[m * _MAX_PATH]; + } + + sprintf(buf, "%s/%s_b%04d.xdw", workdir, prefix, ++bn); + _fullpath(in_path, buf, _MAX_PATH); + + int mod = last_page % BLOCKSZ; + if (mod == 0) mod = BLOCKSZ; + + api_result = XDW_MergeXdwFiles(blk_path_addr, mod, in_path, NULL); + if (api_result < 0) return api_result; + + for (int b = 0; b < bn; b++) { + sprintf(buf, "%s/%s_b%04d.xdw", workdir, prefix, b + 1); + + _fullpath(in_path, buf, _MAX_PATH); + strncpy(&blk_path[b * _MAX_PATH], in_path, _MAX_PATH); + + blk_path_addr[b] = &blk_path[b * _MAX_PATH]; + } + + _fullpath(in_path, sorted, _MAX_PATH); + + api_result = XDW_MergeXdwFiles(blk_path_addr, bn, in_path, NULL); + if (api_result < 0) return api_result; + + free(blk_path); + free(blk_path_addr); + + return 0; +} + +int xdw2pdf(const char* xdwfile, const char* pdffile) { + char in_path[_MAX_PATH], out_path[_MAX_PATH]; + _fullpath(in_path, xdwfile, _MAX_PATH); + _fullpath(out_path, pdffile, _MAX_PATH); + + remove(out_path); + int api_result = 0; + + XDW_DOCUMENT_HANDLE h = NULL; + XDW_OPEN_MODE_EX mode = {sizeof(XDW_OPEN_MODE_EX), XDW_OPEN_READONLY, XDW_AUTH_NODIALOGUE}; + + 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_IMAGE_OPTION_PDF pdf = { + sizeof(XDW_IMAGE_OPTION_PDF), + XDW_COMPRESS_MRC_NORMAL, + XDW_CONVERT_MRC_OS, + info.nPages + }; + + XDW_IMAGE_OPTION_EX ex = { + sizeof(XDW_IMAGE_OPTION_EX), + 600, // dpi + XDW_IMAGE_MONO_HIGHQUALITY, + XDW_IMAGE_PDF, + &pdf + }; + + api_result = XDW_ConvertPageToImageFile(h, 1, out_path, (XDW_IMAGE_OPTION*)&ex); + + XDW_SaveDocument(h, NULL); + XDW_CloseDocumentHandle(h, NULL); + + return 0; +} + +int xdwopt(const char* in, const char* out) { + char in_path[_MAX_PATH], out_path[_MAX_PATH]; + _fullpath(in_path, in, _MAX_PATH); + _fullpath(out_path, out, _MAX_PATH); + + int api_result = XDW_OptimizeDocument(in_path, out_path, NULL); + return (api_result >= 0); +} +*/ +import "C" + +import ( + "bufio" + "encoding/json" + "fmt" + "flag" + "io/ioutil" + "log" + "os" + "os/exec" + "path/filepath" + "regexp" + "sort" + "strings" + "time" + + "golang.org/x/text/encoding/japanese" + "golang.org/x/text/transform" +) + +var ( + ver = "0.1" + + flg_hb int + flg_time bool + flg_log bool + flg_debug bool + flg_clean bool + + confjson = "nk.json" + logfile = "nk.log" + hhscsv = "hhsdb.csv" + tmpdir string + tmpprefix = "nktemp_" + inputdir = "input" + outputdir = "output" + outcsv = "out.csv" + + start time.Time + + hb string // 発番 + fw, hs, kt = "", "", "kttemp.xdw" // è² æ‹…å‰²åˆè¨¼, 被ä¿é™ºè€…証, çµæžœé€šçŸ¥ + + step, totalstep = 1, 13 +) + +type Annotation struct { + X, Y int + Sz int + Tr bool + Txt string +} + +type Config struct { + Atns []Annotation + Kyotaku []string +} + +func (c *Config) ProcessTemplate() { + today := time.Now().Format("令和 r å¹´ 1 月 2 æ—¥") + y := time.Now().Year() - 2018 + if y == 1 { + today = strings.ReplaceAll(today, "r", "å…ƒ") + } else { + today = strings.ReplaceAll(today, "r", fmt.Sprintf("%d", y)) + } + + var atns []Annotation + for _, atn := range c.Atns { + s := atn.Txt + if atn.Txt == "date" { + s = today + } + if strings.ContainsAny(atn.Txt, "hb") { + s = strings.ReplaceAll(atn.Txt, "hb", hb) + } + atns = append(atns, Annotation{atn.X, atn.Y, atn.Sz, atn.Tr, s}) + } + c.Atns = atns +} + +func (c *Config) KyotakuList() []string { + return c.Kyotaku +} + +func (c *Config) AnnotationList() (al []string) { + for _, atn := range c.Atns { + tr := 0 + if atn.Tr { + tr = 1 + } + s := fmt.Sprintf("%d,%d,%d,%d,%s", atn.X, atn.Y, atn.Sz, tr, atn.Txt) + al = append(al, s) + } + return +} + +func init() { + /* INITIALIZE FLAGS */ + flag.IntVar(&flg_hb, "b", 0, "set hatsuban") + flag.BoolVar(&flg_time, "t", false, "print time") + flag.BoolVar(&flg_log, "l", false, "save log") + flag.BoolVar(&flg_debug, "d", false, "print data for debug") + flag.BoolVar(&flg_clean, "c", false, "clean temporary directory & exit") + + /* CREAN OUTPUT-FILE & TEMP-FILE */ + if err := os.RemoveAll(outputdir); err != nil { + log.Fatal(err) + } + os.Remove(logfile) + + /* PREPARATE OUTPUT-DIR & TEMP-DIR */ + if err := os.Mkdir(outputdir, 0755); err != nil { + log.Fatal(err) + } + + var err error + tmpdir, err = ioutil.TempDir(".", tmpprefix) + if err != nil { + log.Fatal(err) + } + logfile = filepath.Join(tmpdir, logfile) + kt = filepath.Join(tmpdir, kt) +} + +func main() { + flag.Parse() + + /* CLEAN TEMPORARY DIRECTORY */ + if flg_clean { + files, err := ioutil.ReadDir(".") + if err != nil { + log.Fatal(err) + } + for _, file := range files { + if strings.HasPrefix(file.Name(), tmpprefix) { + if err := os.RemoveAll(file.Name()); err != nil { + log.Fatal(err) + } + } + } + os.Exit(0) + } + + /* PRINT HEADER */ + fmt.Println("=======================================") + fmt.Println(" 被ä¿é™ºè€…証ã¨çµæžœé€šçŸ¥ã¨è² 担割åˆè¨¼ã‚’... ") + fmt.Printf(" - nk [ver %s] -\n", ver) + fmt.Println("=======================================\n") + + /* USER INPUT */ + hb = fmt.Sprintf("%d", flg_hb) + if flg_hb == 0 { + fmt.Print("発番 > ") + fmt.Scan(&hb) + } + + start = time.Now() + + /* READ CONFIG FROM JSON */ + print_step("è¨å®šèªè¾¼ã¿") + conf, err := read_conf(confjson) + if err != nil { + log.Fatal(err) + } + conf.ProcessTemplate() + step_start := print_time(start) + + /* CHECK INPUT-FILE */ + print_step("入力ファイルã®ãƒã‚§ãƒƒã‚¯") + files, err := ioutil.ReadDir(inputdir) + if err != nil { + log.Fatal(err) + } + + var kts []string + for _, file := range files { + if strings.HasSuffix(file.Name(), ".xdw") { + print_debug([]string{file.Name()}) + switch file.Name()[0:8] { + case "KBPV016G": + fw = filepath.Join(inputdir, file.Name()) + case "KBPG316G": + hs = filepath.Join(inputdir, file.Name()) + case "KBPG206G", "KBPG706G": + f := filepath.Join(inputdir, file.Name()) + kts = append(kts, f) + } + } + } + + fmt.Println() + fmt.Printf(" è² æ‹…å‰²åˆè¨¼ãƒ•ァイル = %s\n", fw) + fmt.Printf(" 被ä¿é™ºè€…証ファイル = %s\n", hs) + fmt.Print(" çµæžœé€šçŸ¥ãƒ•ァイル =") + for _, f := range kts { + fmt.Printf(" %s", f) + } + fmt.Println() + if fw == "" || hs == "" || len(kts) == 0 { + fmt.Fprintf(os.Stderr, "Input file is wrong.\n") + os.Exit(1) + } + + bytes, err := ioutil.ReadFile(hhscsv) + if err != nil { + log.Fatal(err) + } + hash_hhs := make(map[string]string) // 被ä¿é™ºè€…æ°åã®ãƒãƒƒã‚·ãƒ¥ + r := strings.NewReader(string(bytes)) + tr := transform.NewReader(r, japanese.ShiftJIS.NewDecoder()) + buf := bufio.NewScanner(tr) + for buf.Scan() { + records := strings.Split(buf.Text(), ",") + hash_hhs[records[0]] = records[2] + } + fmt.Printf(" 被ä¿é™ºè€…ファイル = %s\n", hhscsv) + + step_start = print_time(step_start) + + /* CONCATNATE INPUT-FILE */ + print_step("çµæžœé€šçŸ¥ãƒ•ァイルã®é€£çµ") + b, err := ioutil.ReadFile(kts[0]) + if err != nil { + log.Fatal(err) + } + if err = ioutil.WriteFile(kt, b, 0644); err != nil { + log.Fatal(err) + } + if len(kts) > 1 { + pp := 0 + fmt.Println() + for _, file := range kts { + p, _ := C.xdwpages(C.CString(file)) + fmt.Printf(" %s\t= %d ページ\n", file, int(p)) + pp += int(p) + } + fmt.Printf(" åˆè¨ˆ\t= %d ページ\n", pp) + for _, file := range kts[1:] { + C.xdwpush(C.CString(kt), C.CString(file)) + } + } + step_start = print_time(step_start) + + /* MAKE SORT-TABEL */ + print_step("並ã³é †ã®æ±ºå®š") + + re_hhs := regexp.MustCompile(`05((2126)|(2159)|(4346))0[1238]\d{8}`) + re_kaigo := regexp.MustCompile(`è¦((介è·)|(支æ´)).`) + + hash_fw := make(map[string]int) // è² æ‹…å‰²åˆè¨¼ç™ºè¡Œè€…ã®ãƒãƒƒã‚·ãƒ¥ + for _, t := range xdw2txt(fw) { + hash_fw[re_hhs.FindString(t)]++ + print_debug([]string{re_hhs.FindString(t)}) + } + + kyotaku := conf.KyotakuList() + + hash_kaigo := make(map[string]string) // 被ä¿é™ºè€…証発行者ã®è¦ä»‹è·åº¦ã®ãƒãƒƒã‚·ãƒ¥ + hash_kyotaku := make(map[string]string) // 被ä¿é™ºè€…証発行者ã®å±…å®…ä»‹è·æ”¯æ´äº‹æ¥æ‰€ã®ãƒãƒƒã‚·ãƒ¥ + var sorttable []string + for _, t := range xdw2txt(hs) { + h := re_hhs.FindString(t) + hash_kaigo[h] = re_kaigo.FindString(t) + for _, k := range kyotaku { + if strings.Contains(t, k) { + hash_kyotaku[h] = k + } + } + key := make_sort_key(hash_fw[h], re_kaigo.FindString(t), h) + s := fmt.Sprintf("%s#%d:%s:%s#%s", key, hash_fw[h], re_kaigo.FindString(t), hash_kyotaku[h], h) + sorttable = append(sorttable, s) + } + //sort.Sort(sort.Reverse(sort.StringSlice(sorttable))) + sort.Sort(sort.StringSlice(sorttable)) + print_debug(sorttable) + step_start = print_time(step_start) + + /* DO SORT */ + order := "" + for _, s := range sorttable { + t := strings.Split(s, "#") + order += ":" + t[len(t)-1][6:] + } + order = strings.Replace(order, ":", "", 1) + + print_step("被ä¿é™ºè€…è¨¼ä¸¦ã³æ›¿ãˆ") + hs_sorted := filepath.Join(tmpdir, "hs.xdw") + C.xdwsort(C.CString(hs), C.CString(hs_sorted), C.CString(order), C.CString(tmpdir), C.CString("hs")) + step_start = print_time(step_start) + + print_step("è² æ‹…å‰²åˆè¨¼ä¸¦ã³æ›¿ãˆ") + fw_sorted := filepath.Join(tmpdir, "fw.xdw") + C.xdwsort(C.CString(fw), C.CString(fw_sorted), C.CString(order), C.CString(tmpdir), C.CString("fw")) + step_start = print_time(step_start) + + print_step("çµæžœé€šçŸ¥ä¸¦ã³æ›¿ãˆ") + kt_sorted := filepath.Join(tmpdir, "kt.xdw") + C.xdwsort(C.CString(kt), C.CString(kt_sorted), C.CString(order), C.CString(tmpdir), C.CString("kt")) + step_start = print_time(step_start) + + /* ADD ANNOTATION */ + print_step("発番å°å—") + al := strings.Join(conf.AnnotationList(), ":") + al, _, _ = transform.String(japanese.ShiftJIS.NewEncoder(), al) + C.xdwaddatn(C.CString(kt_sorted), C.CString(al)) + step_start = print_time(step_start) + + /* OPTIMIZE OUTPUT-FILE */ + print_step("最é©åŒ–") + hs_opt := filepath.Join(outputdir, "hs.xdw") + C.xdwopt(C.CString(hs_sorted), C.CString(hs_opt)) + fw_opt := filepath.Join(outputdir, "fw.xdw") + C.xdwopt(C.CString(fw_sorted), C.CString(fw_opt)) + kt_opt := filepath.Join(outputdir, "kt.xdw") + C.xdwopt(C.CString(kt_sorted), C.CString(kt_opt)) + step_start = print_time(step_start) + + /* OUTPUT CSV */ + print_step("CSV出力") + outcsv = filepath.Join(outputdir, outcsv) + fcsv, err := os.OpenFile(outcsv, os.O_RDWR|os.O_CREATE, 0644) + if err != nil { + log.Fatal(err) + } + for i, s := range sorttable { + t := strings.Split(s, "#") + u := strings.ReplaceAll(t[1], ":", ",") + u, _, _ = transform.String(japanese.ShiftJIS.NewEncoder(), u) + c := t[2][0:6] + h := t[2][6:16] + n, _, _ := transform.String(japanese.ShiftJIS.NewEncoder(), hash_hhs[h]) + // seq, city, hno, name, kaigo, fw, kyotaku + fmt.Fprintf(fcsv, "%04d,%s,%s,%s,%s\n", i + 1, c, h, n, u) + } + if err := fcsv.Close(); err != nil { + log.Fatal(err) + } + step_start = print_time(step_start) + + /* PDF */ + print_step("è² æ‹…å‰²åˆè¨¼å‰²ä»˜ï¼°ï¼¤ï¼¦ä½œæˆ") + fwpdf := filepath.Join(tmpdir, "fw.pdf") + C.xdw2pdf(C.CString(fw_opt), C.CString(fwpdf)) // 2min + step_start = print_time(step_start) + + print_step("è² æ‹…å‰²åˆè¨¼ï¼°ï¼¤ï¼¦å‰²ä»˜") + fw4pdf := filepath.Join(outputdir, "fw4.pdf") + cmd := exec.Command("fw4.exe", fwpdf, fw4pdf, tmpdir) + if err := cmd.Run(); err != nil { + log.Fatal(err) + } + step_start = print_time(step_start) + + print_step("終了") + step_start = print_time(step_start) + + /* REMOVE TEMP-FILE */ + if flg_log { + logfile2 := filepath.Join(".", strings.Replace(logfile, tmpdir, "", 1)) + os.Link(logfile, logfile2) + } + + if !flg_debug { + if err := os.RemoveAll(tmpdir); err != nil { + log.Fatal(err) + } + } +} + +func make_sort_key(fw int, kaigo, h string) string { + key := fmt.Sprintf("%d:", 9 - fw) + if strings.HasPrefix(kaigo, "è¦æ”¯æ´") { + key += "1" + } + if strings.HasPrefix(kaigo, "è¦ä»‹è·") { + key += "2" + } + switch { + case strings.HasSuffix(kaigo, "1"): + key += "1:" + case strings.HasSuffix(kaigo, "ï¼’"): + key += "2:" + case strings.HasSuffix(kaigo, "3"): + key += "3:" + case strings.HasSuffix(kaigo, "ï¼”"): + key += "4:" + case strings.HasSuffix(kaigo, "5"): + key += "5:" + default: + key += "00:" + } + return key + h +} + +func xdw2txt(file string) (txt []string) { + s := C.GoString(C.xdw2txt(C.CString(file))) + r := strings.NewReader(s) + tr := transform.NewReader(r, japanese.ShiftJIS.NewDecoder()) + buf := bufio.NewScanner(tr) + for buf.Scan() { + txt = append(txt, buf.Text()) + } + return; +} + +func read_conf(file string) (conf Config, err error) { + content, err := ioutil.ReadFile(file) + if err != nil { + log.Fatal(err) + } + err = json.Unmarshal(content, &conf) + return +} + +func print_step(msg string) { + s := fmt.Sprintf("\n[%d/%d] %s\n", step, totalstep, msg) + step++ + fmt.Print(s) + save_log(s) +} + +func print_time(t time.Time) time.Time { + now := time.Now() + if !flg_time { + return now + } + elapsed := now.Sub(t) + total := now.Sub(start) + s := fmt.Sprintf("---- Elapsed: %v (total = %v) @ %02d:%02d\n", elapsed, total, now.Hour(), now.Minute()) + fmt.Print(s) + save_log(s) + return now +} + +func print_debug(msg []string) { + if !flg_debug { + return + } + s := "" + if len(msg) == 1 { + s = fmt.Sprintf("----- %s\n", msg) + } + for i, s := range msg { + s += fmt.Sprintf("%05d %s\n", i, s) + } + fmt.Print(s) + save_log(s) +} + +func save_log(logtxt string) error { + if !flg_log { + return nil + } + f, err := os.OpenFile(logfile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) + if err != nil { + return err + } + if _, err := f.Write([]byte(logtxt)); err != nil { + f.Close() + return err + } + if err := f.Close(); err != nil { + return err + } + return nil +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Nk/nk.json Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,140 @@ +{ + "Atns": [ + { + "x": 14711, + "y": 1216, + "sz": 100, + "tr": false, + "txt": "大仙広介発第 hb å·ã€€ã€€ã€€" + }, + { + "x": 14677, + "y": 1742, + "sz": 100, + "tr": false, + "txt": "date" + }, + { + "x": 16015, + "y": 25772, + "sz": 90, + "tr": false, + "txt": "     " + }, + { + "x": 1563, + "y": 26969, + "sz": 90, + "tr": false, + "txt": "※ 65æ³ä»¥ä¸Šã®éšœå®³è€…控除対象者èªå®šæ›¸ã®äº¤ä»˜ã«ã¤ã„ã¦ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€ã€€" + }, + { + "x": 1787, + "y": 27384, + "sz": 90, + "tr": true, + "txt": "障害者手帳ã®äº¤ä»˜ã‚’å—ã‘ã¦ã„ãªã„65æ³ä»¥ä¸Šã®æ–¹ã§ã€è¦ä»‹è·ï¼ˆè¦æ”¯æ´ï¼‰èªå®šã‚’å—ã‘ã¦ãŠã‚Šã€ä¸€å®šã®åŸºæº–ã«è©²å½“ã—ãŸå ´åˆã€" + }, + { + "x": 1787, + "y": 27721, + "sz": 90, + "tr": true, + "txt": "ã§ãã¾ã™ã€‚èªå®šæ›¸ã®äº¤ä»˜ã‚’希望ã™ã‚‹æ–¹ã¯å„å¸‚ç”ºã®æ‹…当課ã¾ã§ãŠå•ã„åˆã‚ã›ãã ã•ã„。" + }, + { + "x": 1877, + "y": 28136, + "sz": 90, + "tr": true, + "txt": "â—大仙市ç¦ç¥‰äº‹å‹™æ‰€ã€€é«˜é½¢è€…包括支æ´ã‚»ãƒ³ã‚¿ãƒ¼ã€€0187-63-1111 â—仙北市ç¦ç¥‰äº‹å‹™æ‰€ã€€é•·å¯¿æ”¯æ´èª²ã€€é•·å¯¿ã„ããŒã„ä¿‚" + }, + { + "x": 1877, + "y": 28475, + "sz": 90, + "tr": true, + "txt": "0187-43-2281 â—ç¾Žéƒ·ç”ºå½¹å ´ï¼ˆåƒç•‘åºèˆŽï¼‰ç¦ç¥‰ä¿å¥èª²ã€€åœ°åŸŸåŒ…括支æ´ç 0187-84-4907(内線1506)" + } + ], + "Kyotaku": [ + "JA秋田ãŠã°ã“ケアプランセンタ", + "ã‚ã„ã±ã‚‹å¤§æ›²å±…å®…ä»‹è·æ”¯æ´äº‹æ¥æ‰€", + "ã‚りã™ã®è¡—ケアプランセンター", + "ã„ã“ã„ã®é‡Œä»‹è·ç›¸è«‡ã‚»ãƒ³ã‚¿ãƒ¼", + "ãˆãŒãŠã‚±ã‚¢ãƒ—ランセンター", + "ãˆãŒãŠä»‹è·ã‚»ãƒ³ã‚¿ãƒ¼ã²ã³ãæ„›", + "ãŠã†ã‚ˆã†ã‹ã‚“介è·ã‚»ãƒ³ã‚¿ãƒ¼å¯Œå£«è¦‹", + "ãŠã†ã‚ˆã†ã‹ã‚“å±…å®…ä»‹è·æ”¯æ´ã‚»ãƒ³ã‚¿", + "ã‹ãã®ã ã¦ä»‹è·ç›¸è«‡å®¤", + "ã“ã‚‚ã‚Œã³æ”¯æ´ã‚»ãƒ³ã‚¿ãƒ¼", + "ãªã”ã¿å±…å®…ä»‹è·æ”¯æ´ã‚»ãƒ³ã‚¿ãƒ¼", + "よã¤ã°ä»‹è·ç›¸è«‡ã‚»ãƒ³ã‚¿ãƒ¼", + "ケアプランもã¨ã¾ã¡", + "ケアプランセンター神岡", + "ケアプランセンター西仙", + "ケアプランセンターä¸é€šã‚Š", + "ケアプラン工房", + "ケアプラン大曲", + "ケアマãƒã‚¹ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ã•ã•ãˆæ„›", + "ケアライフ心都", + "サãƒãƒ¼ãƒˆãƒã‚¦ã‚¹é«˜ç ‚", + "サãƒãƒ¼ãƒˆãƒã‚¦ã‚¹ä»™åŒ—", + "ã‚µãƒ³ã‚°ãƒ¬ã‚¤ã‚¹å±…å®…ä»‹è·æ”¯æ´äº‹æ¥æ‰€", + "ã‚µãƒ³ã‚¿åœ’ä»‹è·æ”¯æ´ã‚»ãƒ³ã‚¿ãƒ¼", + "スマート・ケアプランセンター", + "ニãƒã‚¤ã‚±ã‚¢ã‚»ãƒ³ã‚¿ãƒ¼å¤§æ›²", + "リンデンãƒã‚¦ãƒ ã„ãšã¿ã‚±ã‚¢ãƒ—ラン", + "ãƒãƒ¼ãƒˆãƒ”ア仙å—å±…å®…ä»‹è·æ”¯æ´äº‹æ¥", + "ãƒãƒ¼ãƒˆãƒ”ã‚¢ç·‘æ³‰å±…å®…ä»‹è·æ”¯æ´äº‹æ¥", + "医療法人社団æçœŸä¼šã‚±ã‚¢ã‚µãƒãƒ¼ãƒˆ", + "介è·ãƒ—ラザã™ãšã‚‰ã‚“大仙居宅介è·", + "ä»‹è·æ”¯æ´ã‚»ãƒ³ã‚¿ãƒ¼ããŸã†ã‚‰", + "è§’é–“å·ä»‹è·æ”¯æ´ã‚»ãƒ³ã‚¿ãƒ¼ã‚ã‹ã‚Š", + "å±…å®…ä»‹è·æ”¯æ´ã‚»ãƒ³ã‚¿ãƒ¼ãƒ†ãƒ³ãƒ€ãƒ¼ãƒ’", + "å±…å®…ä»‹è·æ”¯æ´äº‹æ¥æ‰€çœŒå—", + "居宅支æ´äº‹æ¥æ‰€ã ã„ã›ã‚“", + "元気ã§ããƒƒãƒˆæŒ‡å®šå±…å®…ä»‹è·æ”¯æ´äº‹", + "元気ãƒã‚¦ã‚¹ããŸã†ã‚‰", + "å°è¦æ¨¡å¤šæ©Ÿèƒ½åž‹å±…宅介è·äº‹æ¥æ‰€ã‚±", + "森ã“ã—ã®ä¸˜å±…å®…ä»‹è·æ”¯æ´ã‚»ãƒ³ã‚¿ãƒ¼", + "ä»™åŒ—å¸‚å±…å®…ä»‹è·æ”¯æ´äº‹æ¥æ‰€", + "仙北市社会ç¦ç¥‰å”è°ä¼šè§’館ケアマ", + "仙北市社会ç¦ç¥‰å”è°ä¼šè¥¿æœ¨ã‚±ã‚¢ãƒž", + "仙北市社会ç¦ç¥‰å”è°ä¼šç”°æ²¢æ¹–ケア", + "仙北市包括支æ´ã‚»ãƒ³ã‚¿ãƒ¼", + "大曲訪å•看è·ã‚¹ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ä»‹è·æ”¯", + "大仙市社会ç¦ç¥‰å”è°ä¼šè¥¿éƒ¨ä»‹è·ã‚¹", + "大仙市社会ç¦ç¥‰å”è°ä¼šä¸å¤®ä»‹è·ã‚¹", + "大仙市社会ç¦ç¥‰å”è°ä¼šæ±éƒ¨ä»‹è·ã‚¹", + "大仙市地域包括支æ´ã‚»ãƒ³ã‚¿ãƒ¼å”å’Œ", + "大仙市地域包括支æ´ã‚»ãƒ³ã‚¿ãƒ¼è¥¿éƒ¨", + "大仙市地域包括支æ´ã‚»ãƒ³ã‚¿ãƒ¼ä¸å¤®", + "大仙市地域包括支æ´ã‚»ãƒ³ã‚¿ãƒ¼æ±éƒ¨", + "大仙市地域包括支æ´ã‚»ãƒ³ã‚¿ãƒ¼å—部", + "大仙美郷介è·ç¦ç¥‰çµ„åˆ ã‹ã„ã”相", + "虹ã®è¡—ãŠãŠã¾ãŒã‚Šã‚±ã‚¢ãƒ—ランセン", + "虹ã®è¡—ケアプランセンターらããˆ", + "美郷町介è·äº‹æ¥æ‰€", + "美郷町地域包括支æ´ã‚»ãƒ³ã‚¿ãƒ¼", + "有é™ä¼šç¤¾ãƒãƒ—ラ・ケアサービス", + "ピュアã®ã®ã¯ãª", + "æ¹§æ°´ã®éƒ·å±…å®…ä»‹è·æ”¯æ´äº‹æ¥æ‰€", + "å°è¦æ¨¡å¤šæ©Ÿèƒ½åž‹å±…宅介è·äº‹æ¥æ‰€ã€€", + "喜楽館", + "å°è¦æ¨¡å¤šæ©Ÿèƒ½åž‹å±…宅介è·ã¤ã°ãè‹‘", + "ã•ãらケアセンター", + "ãŸã‚“ã½ã½", + "介è·ç›¸è«‡å®¤ã€€ç¬‘ã¿ã‚…", + "ケアプランセンターã‚んり", + "ケアプランãµãã¿ã‚Šãƒ", + "ã‚ã„りã™ä»‹è·ç›¸è«‡å®¤", + "ケアステーション花ã”よã¿", + "ãŠã†ã‚ˆã†ã‹ã‚“介è·ã‚»ãƒ³ã‚¿ãƒ¼", + "ãŠã†ã‚ˆã†ã‹ã‚“「å·å£ã®å®¶ã€", + "多機能ホーム西仙", + "ケアサãƒãƒ¼ãƒˆç¥žå²¡", + "清æµè‹‘å±…å®…ä»‹è·æ”¯æ´ã‚»ãƒ³ã‚¿ãƒ¼" + ] +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Nk/xdw_api.h Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,1121 @@ +/* File: xdw_api.h +// Copyright(C) 1999-2013 by Fuji Xerox Co., Ltd. All right reserved. +*/ + +#ifndef XDW_API_H +#define XDW_API_H + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#ifndef XDWAPI_DECLARATIONS +#define XDWAPI_DECLARATIONS + +#ifdef _WIN64 +#ifndef XDW_DISABLE_PRAGMA_PACK +#pragma pack(push, xdwapi_enter_parser) +#pragma pack(8) +#endif /* XDW_DISABLE_PRAGMA_PACK */ +#endif /* _WIN64 */ + +#define XDWAPI __stdcall + +#define XDW_GI_VERSION 1 +#define XDW_GI_INSTALLPATH 2 +#define XDW_GI_BINPATH 3 +#define XDW_GI_PLUGINPATH 4 +#define XDW_GI_FOLDERROOTPATH 5 +#define XDW_GI_USERFOLDERPATH 6 +#define XDW_GI_SYSTEMFOLDERPATH 7 +#define XDW_GI_RECEIVEFOLDERPATH 8 +#define XDW_GI_SENDFOLDERPATH 9 +#define XDW_GI_DWINPUTPATH 10 +#define XDW_GI_DWDESKPATH 11 +#define XDW_GI_DWVIEWERPATH 12 +#define XDW_GI_DWVLTPATH 13 +#define XDW_GI_DWDESK_FILENAME_DELIMITER 1001 +#define XDW_GI_DWDESK_FILENAME_DIGITS 1002 + + +#define XDW_PGT_NULL 0 +#define XDW_PGT_FROMIMAGE 1 +#define XDW_PGT_FROMAPPL 2 + +#define XDW_MAXPATH 255 +#define XDW_MAXINPUTIMAGEPATH 127 + +#define XDW_OPEN_READONLY 0 +#define XDW_OPEN_UPDATE 1 + +#define XDW_AUTH_NONE 0 +#define XDW_AUTH_NODIALOGUE 1 +#define XDW_AUTH_CONDITIONAL_DIALOGUE 2 + +#define XDW_PERM_DOC_EDIT 0x02 +#define XDW_PERM_ANNO_EDIT 0x04 +#define XDW_PERM_PRINT 0x08 +#define XDW_PERM_COPY 0x10 + +#define XDW_DT_DOCUMENT 0 +#define XDW_DT_BINDER 1 +#define XDW_DT_CONTAINER 2 + +#define XDW_ROT_0 0 +#define XDW_ROT_90 90 +#define XDW_ROT_180 180 +#define XDW_ROT_270 270 + +#define XDW_CREATE_FITDEF 0 +#define XDW_CREATE_FIT 1 +#define XDW_CREATE_USERDEF 2 +#define XDW_CREATE_USERDEF_FIT 3 +#define XDW_CREATE_FITDEF_DIVIDEBMP 4 + +#define XDW_COMPRESS_NORMAL 0 +#define XDW_COMPRESS_LOSSLESS 1 +#define XDW_COMPRESS_HIGHQUALITY 2 +#define XDW_COMPRESS_HIGHCOMPRESS 3 +#define XDW_COMPRESS_NOCOMPRESS 4 +#define XDW_COMPRESS_JPEG 5 +#define XDW_COMPRESS_PACKBITS 6 +#define XDW_COMPRESS_G4 7 +#define XDW_COMPRESS_MRC_NORMAL 8 +#define XDW_COMPRESS_MRC_HIGHQUALITY 9 +#define XDW_COMPRESS_MRC_HIGHCOMPRESS 10 +#define XDW_COMPRESS_MRC 11 +#define XDW_COMPRESS_JPEG_TTN2 12 + +#define XDW_CONVERT_MRC_ORIGINAL 0 +#define XDW_CONVERT_MRC_OS 1 + +#define XDW_IMAGE_DIB 0 +#define XDW_IMAGE_TIFF 1 +#define XDW_IMAGE_JPEG 2 +#define XDW_IMAGE_PDF 3 + +#define XDW_CREATE_HCENTER 0 +#define XDW_CREATE_LEFT 1 +#define XDW_CREATE_RIGHT 2 + +#define XDW_CREATE_VCENTER 0 +#define XDW_CREATE_TOP 1 +#define XDW_CREATE_BOTTOM 2 + +#define XDW_CREATE_DEFAULT_SIZE 0 +#define XDW_CREATE_A3_SIZE 1 +#define XDW_CREATE_2A0_SIZE 2 + +#define XDW_LINE_NONE 0 +#define XDW_LINE_BEGINNING 1 +#define XDW_LINE_ENDING 2 +#define XDW_LINE_BOTH 3 +#define XDW_LINE_WIDE_POLYLINE 0 +#define XDW_LINE_POLYLINE 1 +#define XDW_LINE_POLYGON 2 + +#define XDW_BORDER_TYPE_SOLID 0 +#define XDW_BORDER_TYPE_DOT 1 +#define XDW_BORDER_TYPE_DASH 2 +#define XDW_BORDER_TYPE_DASHDOT 3 +#define XDW_BORDER_TYPE_DOUBLE 4 + +#define XDW_STAMP_AUTO 0 +#define XDW_STAMP_MANUAL 1 +#define XDW_STAMP_NO_BASISYEAR 0 +#define XDW_STAMP_BASISYEAR 1 +#define XDW_STAMP_DATE_YMD 0 +#define XDW_STAMP_DATE_DMY 1 + +#define XDW_PAGEFORM_HEADER 0 +#define XDW_PAGEFORM_FOOTER 1 +#define XDW_PAGEFORM_TOPIMAGE 2 +#define XDW_PAGEFORM_BOTTOMIMAGE 3 +#define XDW_PAGEFORM_PAGENUMBER 4 + +#define XDW_PAGEFORM_STAY 0 +#define XDW_PAGEFORM_REMOVE 1 + +#define XDW_ALIGN_LEFT 0 +#define XDW_ALIGN_HCENTER 1 +#define XDW_ALIGN_RIGHT 2 +#define XDW_ALIGN_TOP 0 +#define XDW_ALIGN_BOTTOM 1 +#define XDW_ALIGN_VCENTER 2 + +#define XDW_PAGERANGE_ALL 0 +#define XDW_PAGERANGE_SPECIFIED 1 + +#define XDW_CRTP_BEGINNING 1 +#define XDW_CRTP_PRINTING 2 +#define XDW_CRTP_PAGE_CREATING 3 +#define XDW_CRTP_ORIGINAL_APPENDING 4 +#define XDW_CRTP_WRITING 5 +#define XDW_CRTP_ENDING 6 +#define XDW_CRTP_CANCELING 7 +#define XDW_CRTP_FINISHED 8 +#define XDW_CRTP_CANCELED 9 + +#define XDW_AID_FUSEN 32794 +#define XDW_AID_TEXT 32785 +#define XDW_AID_STAMP 32819 +#define XDW_AID_STRAIGHTLINE 32828 +#define XDW_AID_RECTANGLE 32829 +#define XDW_AID_ARC 32830 +#define XDW_AID_POLYGON 32834 +#define XDW_AID_MARKER 32795 +#define XDW_AID_LINK 49199 +#define XDW_AID_PAGEFORM 32814 +#define XDW_AID_OLE 32783 +#define XDW_AID_BITMAP 32831 +#define XDW_AID_RECEIVEDSTAMP 32832 +#define XDW_AID_CUSTOM 32837 +#define XDW_AID_TITLE 32838 +#define XDW_AID_GROUP 32839 + +#define XDW_ATYPE_INT 0 +#define XDW_ATYPE_STRING 1 +#define XDW_ATYPE_DATE 2 +#define XDW_ATYPE_BOOL 3 +#define XDW_ATYPE_OCTS 4 +#define XDW_ATYPE_OTHER 999 + +#define XDW_SUMMARY_INFO 1 +#define XDW_USER_DEF 2 +#define XDW_ANNOTATION 4 + +#define XDW_SIZE_FREE 0 +#define XDW_SIZE_A3_PORTRAIT 1 +#define XDW_SIZE_A3_LANDSCAPE 2 +#define XDW_SIZE_A4_PORTRAIT 3 +#define XDW_SIZE_A4_LANDSCAPE 4 +#define XDW_SIZE_A5_PORTRAIT 5 +#define XDW_SIZE_A5_LANDSCAPE 6 +#define XDW_SIZE_B4_PORTRAIT 7 +#define XDW_SIZE_B4_LANDSCAPE 8 +#define XDW_SIZE_B5_PORTRAIT 9 +#define XDW_SIZE_B5_LANDSCAPE 10 + +#define XDW_BINDER_COLOR_0 0 +#define XDW_BINDER_COLOR_1 1 +#define XDW_BINDER_COLOR_2 2 +#define XDW_BINDER_COLOR_3 3 +#define XDW_BINDER_COLOR_4 4 +#define XDW_BINDER_COLOR_5 5 +#define XDW_BINDER_COLOR_6 6 +#define XDW_BINDER_COLOR_7 7 +#define XDW_BINDER_COLOR_8 8 +#define XDW_BINDER_COLOR_9 9 +#define XDW_BINDER_COLOR_10 10 +#define XDW_BINDER_COLOR_11 11 +#define XDW_BINDER_COLOR_12 12 +#define XDW_BINDER_COLOR_13 13 +#define XDW_BINDER_COLOR_14 14 +#define XDW_BINDER_COLOR_15 15 + +#define XDW_REDUCENOISE_NONE 0 +#define XDW_REDUCENOISE_NORMAL 1 +#define XDW_REDUCENOISE_WEAK 2 +#define XDW_REDUCENOISE_STRONG 3 + +#define XDW_PRIORITY_NONE 0 +#define XDW_PRIORITY_SPEED 1 +#define XDW_PRIORITY_RECOGNITION 2 + +#define XDW_OCR_ENGINE_V4 1 // old name - should be here for compatibility +#define XDW_OCR_ENGINE_DEFAULT 1 +#define XDW_OCR_ENGINE_WRP 2 +#define XDW_OCR_ENGINE_FRE 3 +#define XDW_OCR_ENGINE_FRE_MULTI 4 + +#define XDW_OCR_LANGUAGE_AUTO -1 +#define XDW_OCR_LANGUAGE_JAPANESE 0 +#define XDW_OCR_LANGUAGE_ENGLISH 1 + +#define XDW_OCR_MULTIPLELANGUAGES_ENGLISH 0x02 +#define XDW_OCR_MULTIPLELANGUAGES_FRENCH 0x04 +#define XDW_OCR_MULTIPLELANGUAGES_SIMPLIFIED_CHINESE 0x08 +#define XDW_OCR_MULTIPLELANGUAGES_TRADITIONAL_CHINESE 0x10 +#define XDW_OCR_MULTIPLELANGUAGES_THAI 0x20 +#define XDW_OCR_MULTIPLELANGUAGES_JAPANESE 0x40 +#define XDW_OCR_MULTIPLELANGUAGES_KOREAN 0x80 + +#define XDW_OCR_FORM_AUTO 0 +#define XDW_OCR_FORM_TABLE 1 +#define XDW_OCR_FORM_WRITING 2 + +#define XDW_OCR_COLUMN_AUTO 0 +#define XDW_OCR_COLUMN_HORIZONTAL_SINGLE 1 +#define XDW_OCR_COLUMN_HORIZONTAL_MULTI 2 +#define XDW_OCR_COLUMN_VERTICAL_SINGLE 3 +#define XDW_OCR_COLUMN_VERTICAL_MULTI 4 + +#define XDW_OCR_DOCTYPE_AUTO 0 +#define XDW_OCR_DOCTYPE_HORIZONTAL_SINGLE 1 +#define XDW_OCR_DOCTYPE_PLAINTEXT 2 + +#define XDW_OCR_ENGINE_LEVEL_SPEED 1 +#define XDW_OCR_ENGINE_LEVEL_STANDARD 2 +#define XDW_OCR_ENGINE_LEVEL_ACCURACY 3 + +#define XDW_OCR_MIXEDRATE_JAPANESE 1 +#define XDW_OCR_MIXEDRATE_BALANCED 2 +#define XDW_OCR_MIXEDRATE_ENGLISH 3 + +#define XDW_PROTECT_PSWD 1 +#define XDW_PROTECT_PSWD128 3 +#define XDW_PROTECT_PKI 4 +#define XDW_PROTECT_STAMP 5 +#define XDW_PROTECT_CONTEXT_SERVICE 6 +#define XDW_PROTECT_PSWD256 7 +#define XDW_PROTECT_PKI256 8 + +#define XDW_GPTI_TYPE_EMF 0 +#define XDW_GPTI_TYPE_OCRTEXT 1 + +#define XDW_IMAGE_MONO 0 +#define XDW_IMAGE_COLOR 1 +#define XDW_IMAGE_MONO_HIGHQUALITY 2 + +#define XDW_SIGNATURE_STAMP 100 +#define XDW_SIGNATURE_PKI 102 +#define XDW_SIGNATURE_PKI_SHA256 105 + +#define XDW_SIGNATURE_STAMP_DOC_NONE 0 +#define XDW_SIGNATURE_STAMP_DOC_NOEDIT 1 +#define XDW_SIGNATURE_STAMP_DOC_EDIT 2 +#define XDW_SIGNATURE_STAMP_DOC_BAD 3 + +#define XDW_SIGNATURE_STAMP_STAMP_NONE 0 +#define XDW_SIGNATURE_STAMP_STAMP_TRUSTED 1 +#define XDW_SIGNATURE_STAMP_STAMP_NOTRUST 2 + +#define XDW_SIGNATURE_STAMP_ERROR_OK 0 +#define XDW_SIGNATURE_STAMP_ERROR_NO_OPENING_CASE 1 +#define XDW_SIGNATURE_STAMP_ERROR_NO_SELFSTAMP 2 +#define XDW_SIGNATURE_STAMP_ERROR_OUT_OF_VALIDITY 3 +#define XDW_SIGNATURE_STAMP_ERROR_INVALID_DATA 4 +#define XDW_SIGNATURE_STAMP_ERROR_OUT_OF_MEMORY 100 +#define XDW_SIGNATURE_STAMP_ERROR_UNKNOWN 9999 + +#define XDW_SIGNATURE_PKI_DOC_UNKNOWN 0 +#define XDW_SIGNATURE_PKI_DOC_GOOD 1 +#define XDW_SIGNATURE_PKI_DOC_MODIFIED 2 +#define XDW_SIGNATURE_PKI_DOC_BAD 3 +#define XDW_SIGNATURE_PKI_DOC_GOOD_TRUSTED 4 +#define XDW_SIGNATURE_PKI_DOC_MODIFIED_TRUSTED 5 + +#define XDW_SIGNATURE_PKI_TYPE_LOW 0 +#define XDW_SIGNATURE_PKI_TYPE_MID_LOCAL 1 +#define XDW_SIGNATURE_PKI_TYPE_MID_NETWORK 2 +#define XDW_SIGNATURE_PKI_TYPE_HIGH_LOCAL 3 +#define XDW_SIGNATURE_PKI_TYPE_HIGH_NETWORK 4 + +#define XDW_SIGNATURE_PKI_CERT_UNKNOWN 0 +#define XDW_SIGNATURE_PKI_CERT_OK 1 +#define XDW_SIGNATURE_PKI_CERT_NO_ROOT_CERTIFICATE 2 +#define XDW_SIGNATURE_PKI_CERT_NO_REVOCATION_CHECK 3 +#define XDW_SIGNATURE_PKI_CERT_OUT_OF_VALIDITY 4 +#define XDW_SIGNATURE_PKI_CERT_OUT_OF_VALIDITY_AT_SIGNED_TIME 5 +#define XDW_SIGNATURE_PKI_CERT_REVOKE_CERTIFICATE 6 +#define XDW_SIGNATURE_PKI_CERT_REVOKE_INTERMEDIATE_CERTIFICATE 7 +#define XDW_SIGNATURE_PKI_CERT_INVALID_SIGNATURE 8 +#define XDW_SIGNATURE_PKI_CERT_INVALID_USAGE 9 +#define XDW_SIGNATURE_PKI_CERT_UNDEFINED_ERROR 10 + +#define XDW_SIGNATURE_PKI_ERROR_UNKNOWN 0 +#define XDW_SIGNATURE_PKI_ERROR_OK 1 +#define XDW_SIGNATURE_PKI_ERROR_BAD_PLATFORM 2 +#define XDW_SIGNATURE_PKI_ERROR_WRITE_REG_ERROR 3 +#define XDW_SIGNATURE_PKI_ERROR_BAD_TRUST_LEVEL 4 +#define XDW_SIGNATURE_PKI_ERROR_BAD_REVOKE_CHECK_TYPE 5 +#define XDW_SIGNATURE_PKI_ERROR_BAD_AUTO_IMPORT_CERT_FLAG 6 +#define XDW_SIGNATURE_PKI_ERROR_BAD_SIGN_CONFIG 7 +#define XDW_SIGNATURE_PKI_ERROR_NO_IMAGE_FILE 8 +#define XDW_SIGNATURE_PKI_ERROR_BAD_SIGN_CERT 9 +#define XDW_SIGNATURE_PKI_ERROR_NO_SIGN_CERT 10 +#define XDW_SIGNATURE_PKI_ERROR_NOT_USE_PRIVATE_KEY 11 +#define XDW_SIGNATURE_PKI_ERROR_INVALID 12 +#define XDW_SIGNATURE_PKI_ERROR_BAD_SIGN 13 +#define XDW_SIGNATURE_PKI_ERROR_REVOKE_CHECK_ERROR 14 +#define XDW_SIGNATURE_PKI_ERROR_OUT_OF_VALIDITY 15 +#define XDW_SIGNATURE_PKI_ERROR_NO_CERT 16 +#define XDW_SIGNATURE_PKI_ERROR_FAILURE_IMPOPT_CERT 17 +#define XDW_SIGNATURE_PKI_ERROR_NO_ROOT_CERT 18 +#define XDW_SIGNATURE_PKI_ERROR_BAD_CERT_SIZE 19 +#define XDW_SIGNATURE_PKI_ERROR_BAD_ARG 20 +#define XDW_SIGNATURE_PKI_ERROR_BAD_CERT_FORMAT 21 + +#define XDW_SECURITY_PKI_ERROR_UNKNOWN 0 +#define XDW_SECURITY_PKI_ERROR_OK 1 +#define XDW_SECURITY_PKI_ERROR_BAD_PLATFORM 2 +#define XDW_SECURITY_PKI_ERROR_WRITE_REG_ERROR 3 +#define XDW_SECURITY_PKI_ERROR_BAD_TRUST_LEVEL 4 +#define XDW_SECURITY_PKI_ERROR_BAD_REVOKE_CHECK_TYPE 5 +#define XDW_SECURITY_PKI_ERROR_REVOKED 6 +#define XDW_SECURITY_PKI_ERROR_BAD_SIGN 7 +#define XDW_SECURITY_PKI_ERROR_REVOKE_CHECK_ERROR 8 +#define XDW_SECURITY_PKI_ERROR_OUT_OF_VALIDITY 9 +#define XDW_SECURITY_PKI_ERROR_NO_CERT 10 +#define XDW_SECURITY_PKI_ERROR_FAILURE_IMPORT_CERT 11 +#define XDW_SECURITY_PKI_ERROR_NO_ROOT_CERT 12 +#define XDW_SECURITY_PKI_ERROR_BAD_CERT_FORMAT 13 +#define XDW_SECURITY_PKI_ERROR_BAD_CERT_USAGE 14 +#define XDW_SECURITY_PKI_ERROR_CA_CERT_IS_REVOKED 15 +#define XDW_SECURITY_PKI_ERROR_TOO_MANY_CERT 16 + +#define XDW_IGNORE_CASE 0x02 +#define XDW_IGNORE_WIDTH 0x04 +#define XDW_IGNORE_HIRAKATA 0x08 + +#define XDW_STARCH 1 +#define XDW_STARCH_OFF 0 + +#define XDW_TEXT_UNKNOWN 0 +#define XDW_TEXT_MULTIBYTE 1 +#define XDW_TEXT_UNICODE 2 +#define XDW_TEXT_UNICODE_IFNECESSARY 3 + +#define XDW_HGLOBAL void* + +typedef struct { int dummy; } *XDW_DOCUMENT_HANDLE; +typedef struct { int dummy; } *XDW_CREATE_HANDLE; +typedef struct { int dummy; } *XDW_ANNOTATION_HANDLE; +typedef struct { int dummy; } *XDW_FOUND_HANDLE; + +typedef unsigned short XDW_WCHAR; + +typedef struct tag_XDW_RECT { + long left; + long top; + long right; + long bottom; +} XDW_RECT; + +typedef struct tag_XDW_GPTI_OCRTEXT_UNIT { + const char* lpszText; + XDW_RECT rect; +} XDW_GPTI_OCRTEXT_UNIT; + +typedef struct tag_XDW_GPTI_OCRTEXT { + int nUnitNum; + XDW_GPTI_OCRTEXT_UNIT* pUnits; +} XDW_GPTI_OCRTEXT; + +typedef struct tag_XDW_GPTI_INFO { + int nSize; + int nInfoType; + int nPageWidth; + int nPageHeight; + int nRotateDegree; + int nDataSize; + XDW_HGLOBAL pData; +} XDW_GPTI_INFO; + +typedef struct tag_XDW_DOCUMENT_INFO { + int nSize; + int nPages; + int nVersion; + int nOriginalData; + int nDocType; + int nPermission; + int nShowAnnotations; + int nDocuments; + int nBinderColor; + int nBinderSize; +} XDW_DOCUMENT_INFO; + +typedef struct tag_XDW_PAGE_INFO { + int nSize; + int nWidth; + int nHeight; + int nPageType; + int nHorRes; + int nVerRes; + int nCompressType; + int nAnnotations; +} XDW_PAGE_INFO; + +typedef struct tag_XDW_PAGE_INFO_EX { + int nSize; + int nWidth; + int nHeight; + int nPageType; + int nHorRes; + int nVerRes; + int nCompressType; + int nAnnotations; + int nDegree; + int nOrgWidth; + int nOrgHeight; + int nOrgHorRes; + int nOrgVerRes; + int nImageWidth; + int nImageHeight; +} XDW_PAGE_INFO_EX; + +typedef struct tag_XDW_IMAGE_OPTION { + int nSize; + int nDpi; + int nColor; +} XDW_IMAGE_OPTION; + +typedef struct tag_XDW_OPEN_MODE { + int nSize; + int nOption; +} XDW_OPEN_MODE; + +typedef struct tag_XDW_OPEN_MODE_EX { + int nSize; + int nOption; + int nAuthMode; +} XDW_OPEN_MODE_EX; + +typedef struct tag_XDW_CREATE_OPTION { + int nSize; + int nFitImage; + int nCompress; + int nZoom; + int nWidth; + int nHeight; + int nHorPos; + int nVerPos; +} XDW_CREATE_OPTION; + +typedef struct tag_XDW_CREATE_OPTION_EX { + int nSize; + int nFitImage; + int nCompress; + int nZoom; + int nWidth; + int nHeight; + int nHorPos; + int nVerPos; + int nZoomDetail; +} XDW_CREATE_OPTION_EX; + +typedef struct tag_XDW_CREATE_OPTION_EX2 { + int nSize; + int nFitImage; + int nCompress; + int nZoom; + int nWidth; + int nHeight; + int nHorPos; + int nVerPos; + int nZoomDetail; + int nMaxPaperSize; +} XDW_CREATE_OPTION_EX2; + + +#define XDW_SIZEOF_ORGDATANAME 256 +typedef struct tag_XDW_ORGDATA_INFO { + int nSize; + int nDataSize; + long nDate; + char szName[XDW_SIZEOF_ORGDATANAME]; +} XDW_ORGDATA_INFO; + +typedef struct tag_XDW_ORGDATA_INFOW { + int nSize; + int nDataSize; + long nDate; + XDW_WCHAR szName[XDW_SIZEOF_ORGDATANAME]; +} XDW_ORGDATA_INFOW; + +#define XDW_SIZEOF_LINKROOTFOLDER 256 +typedef struct tag_XDW_LINKROOTFOLDER_INFO { + int nSize; + char szPath[XDW_SIZEOF_LINKROOTFOLDER]; + char szLinkRootFolderName[XDW_SIZEOF_LINKROOTFOLDER]; +} XDW_LINKROOTFOLDER_INFO ; + +typedef struct tag_XDW_LINKROOTFOLDER_INFOW { + int nSize; + XDW_WCHAR wszPath[XDW_SIZEOF_LINKROOTFOLDER]; + XDW_WCHAR wszLinkRootFolderName[XDW_SIZEOF_LINKROOTFOLDER]; +} XDW_LINKROOTFOLDER_INFOW ; + +typedef struct tag_XDW_CREATE_STATUS { + int nSize; + int phase; + int nTotalPage; + int nPage; +} XDW_CREATE_STATUS; + +typedef struct tag_XDW_ANNOTATION_INFO { + int nSize; + XDW_ANNOTATION_HANDLE handle; + int nHorPos; + int nVerPos; + int nWidth; + int nHeight; + int nAnnotationType; + int nChildAnnotations; +} XDW_ANNOTATION_INFO; + + +typedef struct tag_XDW_AA_INITIAL_DATA { + int nSize; + int nAnnotationType; + int nReserved1; + int nReserved2; +} XDW_AA_INITIAL_DATA; + +typedef struct tag_XDW_AA_FUSEN_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nWidth; + int nHeight; +} XDW_AA_FUSEN_INITIAL_DATA; + +typedef struct tag_XDW_AA_STRAIGHTLINE_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nHorVec; + int nVerVec; +} XDW_AA_STRAIGHTLINE_INITIAL_DATA; + +typedef struct tag_XDW_AA_RECT_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nWidth; + int nHeight; +} XDW_AA_RECT_INITIAL_DATA; + +typedef struct tag_XDW_AA_ARC_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nWidth; + int nHeight; +} XDW_AA_ARC_INITIAL_DATA; + +typedef struct tag_XDW_AA_BITMAP_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + char szImagePath[256]; +} XDW_AA_BITMAP_INITIAL_DATA; + +typedef struct tag_XDW_AA_BITMAP_INITIAL_DATAW { + XDW_AA_INITIAL_DATA common; + XDW_WCHAR wszImagePath[256]; +} XDW_AA_BITMAP_INITIAL_DATAW; + +typedef struct tag_XDW_AA_STAMP_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nWidth; +} XDW_AA_STAMP_INITIAL_DATA; + +typedef struct tag_XDW_AA_RECEIVEDSTAMP_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nWidth; +} XDW_AA_RECEIVEDSTAMP_INITIAL_DATA; + +#define XDW_SIZEOF_GUID 36 +typedef struct tag_XDW_AA_CUSTOM_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nWidth; + int nHeight; + char* lpszGuid; + int nCustomDataSize; + unsigned char* pCustomData; +} XDW_AA_CUSTOM_INITIAL_DATA; + +typedef struct tag_XDW_IMAGE_OPTION_EX { + int nSize; + int nDpi; + int nColor; + int nImageType; + void* pDetailOption; +} XDW_IMAGE_OPTION_EX; + +typedef struct tag_XDW_IMAGE_OPTION_TIFF { + int nSize; + int nCompress; + int nEndOfMultiPages; +} XDW_IMAGE_OPTION_TIFF; + +typedef struct tag_XDW_IMAGE_OPTION_JPEG { + int nSize; + int nCompress; +} XDW_IMAGE_OPTION_JPEG; + +typedef struct tag_XDW_IMAGE_OPTION_PDF { + int nSize; + int nCompress; + int nConvertMethod; + int nEndOfMultiPages; +} XDW_IMAGE_OPTION_PDF; + +typedef struct tag_XDW_BINDER_INITIAL_DATA { + int nSize; + int nBinderColor; + int nBinderSize; +} XDW_BINDER_INITIAL_DATA; + +typedef struct tag_XDW_OCR_OPTION_V4 { + int nSize; + int nNoiseReduction; + int nLanguage; + int nInsertSpaceCharacter; + int nJapaneseKnowledgeProcessing; + int nForm; + int nColumn; + int nDisplayProcess; + int nAutoDeskew; +} XDW_OCR_OPTION_V4; + +typedef struct tag_XDW_OCR_OPTION_V5 { + int nSize; + int nNoiseReduction; + int nLanguage; + int nInsertSpaceCharacter; + int nJapaneseKnowledgeProcessing; + int nForm; + int nColumn; + int nDisplayProcess; + int nAutoDeskew; + unsigned int nAreaNum; + XDW_RECT** pAreaRects; +} XDW_OCR_OPTION_V5; + +typedef struct tag_XDW_OCR_OPTION_V5_EX { + int nSize; + int nNoiseReduction; + int nLanguage; + int nInsertSpaceCharacter; + int nJapaneseKnowledgeProcessing; + int nForm; + int nColumn; + int nDisplayProcess; + int nAutoDeskew; + unsigned int nAreaNum; + XDW_RECT** pAreaRects; + int nPriority; +} XDW_OCR_OPTION_V5_EX; + +typedef struct tag_XDW_OCR_OPTION_WRP { + int nSize; + int nNoiseReduction; + int nLanguage; + int nInsertSpaceCharacter; + int nForm; + int nColumn; + int nAutoDeskew; + int nPriority; +} XDW_OCR_OPTION_WRP; + +typedef struct tag_XDW_OCR_OPTION_FRE { + int nSize; + int nNoiseReduction; + int nLanguage; + int nDocumentType; + int nDisplayProcess; + int nAutoDeskew; + unsigned int nAreaNum; + XDW_RECT** pAreaRects; + int nPriority; +} XDW_OCR_OPTION_FRE; + +typedef struct tag_XDW_OCR_OPTION_V7 { + int nSize; + int nNoiseReduction; + int nLanguage; + int nInsertSpaceCharacter; + int nJapaneseKnowledgeProcessing; + int nForm; + int nColumn; + int nDisplayProcess; + int nAutoDeskew; + unsigned int nAreaNum; + XDW_RECT** pAreaRects; + int nPriority; + int nEngineLevel; + int nLanguageMixedRate; + int nHalfSizeChar; +} XDW_OCR_OPTION_V7; + +typedef struct tag_XDW_OCR_OPTION_FRE_V7 { + int nSize; + int nNoiseReduction; + int nLanguage; + int nDocumentType; + int nDisplayProcess; + int nAutoDeskew; + unsigned int nAreaNum; + XDW_RECT** pAreaRects; + int nPriority; + int nEngineLevel; +} XDW_OCR_OPTION_FRE_V7; + +typedef struct tag_XDW_PAGE_COLOR_INFO { + int nSize; + int nColor; + int nImageDepth; +} XDW_PAGE_COLOR_INFO; + +#define XDW_SIZEOF_PSWD 256 +typedef struct tag_XDW_SECURITY_OPTION_PSWD { + int nSize; + int nPermission; + char szOpenPswd[XDW_SIZEOF_PSWD]; + char szFullAccessPswd[XDW_SIZEOF_PSWD]; + char* lpszComment; +} XDW_SECURITY_OPTION_PSWD; + +typedef struct tag_XDW_DER_CERTIFICATE { + void *pCert; + int nCertSize; +} XDW_DER_CERTIFICATE; + +typedef struct tag_XDW_SECURITY_OPTION_PKI { + int nSize; + int nPermission; + XDW_DER_CERTIFICATE* lpxdcCerts; + int nCertsNum; + int nFullAccessCertsNum; + int nErrorStatus; + int nFirstErrorCert; +} XDW_SECURITY_OPTION_PKI; + +typedef struct tag_XDW_PROTECT_OPTION { + int nSize; + int nAuthMode; +} XDW_PROTECT_OPTION; + +typedef struct tag_XDW_RELEASE_PROTECTION_OPTION { + int nSize; + int nAuthMode; +} XDW_RELEASE_PROTECTION_OPTION; + +typedef struct tag_XDW_PROTECTION_INFO { + int nSize; + int nProtectType; + int nPermission; +} XDW_PROTECTION_INFO; + +typedef struct tag_XDW_SIGNATURE_OPTION_V5 { + int nSize; + int nPage; + int nHorPos; + int nVerPos; + int nSignatureType; +} XDW_SIGNATURE_OPTION_V5; + +typedef struct tag_XDW_SIGNATURE_INFO_V5 { + int nSize; + int nSignatureType; + int nPage; + int nHorPos; + int nVerPos; + int nWidth; + int nHeight; + long nSignedTime; +} XDW_SIGNATURE_INFO_V5; + +typedef struct tag_XDW_SIGNATURE_MODULE_STATUS { + int nSize; + int nSignatureType; + int nErrorStatus; +} XDW_SIGNATURE_MODULE_STATUS; + +typedef struct tag_XDW_SIGNATURE_MODULE_OPTION_PKI { + int nSize; + void *pSignerCert; + int nSignerCertSize; +} XDW_SIGNATURE_MODULE_OPTION_PKI; + +#define XDW_SIZEOF_STAMPNAME 256 +#define XDW_SIZEOF_STAMPOWNERNAME 64 +#define XDW_SIZEOF_STAMPREMARKS 1024 +typedef struct tag_XDW_SIGNATURE_STAMP_INFO_V5 { + int nSize; + char lpszStampName[XDW_SIZEOF_STAMPNAME]; + char lpszOwnerName[XDW_SIZEOF_STAMPOWNERNAME]; + long nValidDate; + char lpszRemarks[XDW_SIZEOF_STAMPREMARKS]; + int nDocVerificationStatus; + int nStampVerificationStatus; +} XDW_SIGNATURE_STAMP_INFO_V5; + +#define XDW_SIZEOF_PKIMODULENAME 16 +#define XDW_SIZEOF_PKISUBJECTDN 512 +#define XDW_SIZEOF_PKISUBJECT 256 +#define XDW_SIZEOF_PKIISSUERDN 512 +#define XDW_SIZEOF_PKIISSUER 256 +#define XDW_SIZEOF_PKINOTBEFORE 32 +#define XDW_SIZEOF_PKINOTAFTER 32 +#define XDW_SIZEOF_PKISERIAL 64 +#define XDW_SIZEOF_PKIREMARKS 64 +#define XDW_SIZEOF_PKISIGNEDTIME 32 + +typedef struct tag_XDW_SIGNATURE_PKI_INFO_V5 { + int nSize; + char lpszModule[XDW_SIZEOF_PKIMODULENAME]; + char lpszSubjectDN[XDW_SIZEOF_PKISUBJECTDN]; + char lpszSubject[XDW_SIZEOF_PKISUBJECT]; + char lpszIssuerDN[XDW_SIZEOF_PKIISSUERDN]; + char lpszIssuer[XDW_SIZEOF_PKIISSUER]; + char lpszNotBefore[XDW_SIZEOF_PKINOTBEFORE]; + char lpszNotAfter[XDW_SIZEOF_PKINOTAFTER]; + char lpszSerial[XDW_SIZEOF_PKISERIAL]; + void* pSignerCert; + int nSignerCertSize; + char lpszRemarks[XDW_SIZEOF_PKIREMARKS]; + char lpszSigningTime[XDW_SIZEOF_PKISIGNEDTIME]; + int nDocVerificationStatus; + int nCertVerificationType; + int nCertVerificationStatus; +} XDW_SIGNATURE_PKI_INFO_V5; + +typedef struct tag_XDW_OCR_TEXTINFO { + int nSize; + int nWidth; + int nHeight; + long charset; + char* lpszText; + int nLineRect; + XDW_RECT* pLineRect; +} XDW_OCR_TEXTINFO; + +typedef struct tag_XDW_OCRIMAGE_OPTION { + int nSize; + int nDpi; + int nNoiseReduction; + int nPriority; +} XDW_OCRIMAGE_OPTION; + +typedef struct tag_XDW_FIND_TEXT_OPTION { + int nSize; + int nIgnoreMode; + int nReserved; + int nReserved2; +} XDW_FIND_TEXT_OPTION; + +#define XDW_FOUND_RECT_STATUS_HIT (0) +#define XDW_FOUND_RECT_STATUS_PAGE (1) + +typedef struct tag_XDW_POINT { + int x; + int y; +} XDW_POINT; + + +typedef struct tag_XDW_AA_MARKER_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nCounts; + XDW_POINT* pPoints; +} XDW_AA_MARKER_INITIAL_DATA; + +typedef struct tag_XDW_AA_POLYGON_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nCounts; + XDW_POINT* pPoints; +} XDW_AA_POLYGON_INITIAL_DATA; + +typedef struct XDW_BEGIN_CREATE_OPTION { + int nSize; + BOOL bNoUseSpecifiedApp; +} XDW_BEGIN_CREATE_OPTION; + +#ifdef _WIN64 +#ifndef XDW_DISABLE_PRAGMA_PACK +#pragma pack(pop, xdwapi_enter_parser) +#endif /* XDW_DISABLE_PRAGMA_PACK */ +#endif /* _WIN64 */ + +#endif //XDWAPI_DECLARATIONS + + +int XDWAPI XDW_GetInformation(int nIndex, char* lpszOutput, int nSize, void* reserved); +int XDWAPI XDW_GetInformationW(int nIndex, XDW_WCHAR* lpwszOutput, int nSize, void* reserved); +int XDWAPI XDW_AddSystemFolder(int nIndex, void* reserved ); + +int XDWAPI XDW_MergeXdwFiles(const char** lpszInputPaths, int nFiles, const char* lpszOutputPath, void* reserved ); +int XDWAPI XDW_MergeXdwFilesW(const XDW_WCHAR** lpwszInputPaths, int nFiles, const XDW_WCHAR* lpwszOutputPath, void* reserved ); +int XDWAPI XDW_OpenDocumentHandle(const char* lpszFilePath, XDW_DOCUMENT_HANDLE* pHandle, XDW_OPEN_MODE* pOpenMode); +int XDWAPI XDW_OpenDocumentHandleW(const XDW_WCHAR* lpwszFilePath, XDW_DOCUMENT_HANDLE* pHandle, XDW_OPEN_MODE* pOpenMode); +int XDWAPI XDW_CloseDocumentHandle(XDW_DOCUMENT_HANDLE handle, void* reserved ); +int XDWAPI XDW_GetDocumentInformation(XDW_DOCUMENT_HANDLE handle, XDW_DOCUMENT_INFO* pDocumentInfo); +int XDWAPI XDW_GetPageInformation(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_PAGE_INFO* pPageInfo); +int XDWAPI XDW_GetPageImage(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_GetPageImageW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_GetPageText(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszOutputPath, void* reserved ); +int XDWAPI XDW_ConvertPageToImageFile(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszOutputPath, XDW_IMAGE_OPTION* pImageOption); +int XDWAPI XDW_ConvertPageToImageFileW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszOutputPath, XDW_IMAGE_OPTION* pImageOption); +int XDWAPI XDW_GetPage(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_GetPageW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_DeletePage(XDW_DOCUMENT_HANDLE handle, int nPage, void* reserved); +int XDWAPI XDW_RotatePage(XDW_DOCUMENT_HANDLE handle, int nPage, int nDegree, void* reserved); +int XDWAPI XDW_SaveDocument(XDW_DOCUMENT_HANDLE handle, void* reserved); +int XDWAPI XDW_CreateXdwFromImageFile(const char* lpszInputPath, const char* lpszOutputPath, XDW_CREATE_OPTION* pOption); +int XDWAPI XDW_CreateXdwFromImageFileW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, XDW_CREATE_OPTION* pOption); + +int XDWAPI XDW_GetOriginalDataInformation(XDW_DOCUMENT_HANDLE handle, int nOriginalData, XDW_ORGDATA_INFO* pOriginalDataInfo, void* reserved); +int XDWAPI XDW_GetOriginalData(XDW_DOCUMENT_HANDLE handle, int nOriginalData, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_GetOriginalDataW(XDW_DOCUMENT_HANDLE handle, int nOriginalData, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_InsertOriginalData(XDW_DOCUMENT_HANDLE handle, int nOriginalData, const char* lpszInputPath, void* reserved); +int XDWAPI XDW_DeleteOriginalData(XDW_DOCUMENT_HANDLE handle, int nOriginalData, void* reserved); + +int XDWAPI XDW_BeginCreationFromAppFile(const char* lpszInputPath, const char* lpszOutputPath, BOOL bWithOriginal, XDW_CREATE_HANDLE* handle, void* pCreateOption); +int XDWAPI XDW_BeginCreationFromAppFileW(const XDW_WCHAR* lpszInputPath, const XDW_WCHAR* lpszOutputPath, BOOL bWithOriginal, XDW_CREATE_HANDLE* handle, void* pCreateOption); +int XDWAPI XDW_EndCreationFromAppFile(XDW_CREATE_HANDLE handle, void* reserved); +int XDWAPI XDW_GetStatusCreationFromAppFile(XDW_CREATE_HANDLE handle, XDW_CREATE_STATUS* pStatus); +int XDWAPI XDW_CancelCreationFromAppFile(XDW_CREATE_HANDLE handle, void* reserved); + +int XDWAPI XDW_GetUserAttribute(XDW_DOCUMENT_HANDLE handle, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void *reserved); +int XDWAPI XDW_SetUserAttribute(XDW_DOCUMENT_HANDLE handle, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void *reserved); + +int XDWAPI XDW_GetAnnotationInformation(XDW_DOCUMENT_HANDLE hDocument, int nPage, XDW_ANNOTATION_HANDLE hAnnotation,int nIndex, XDW_ANNOTATION_INFO* pAnnotationInfo, void* reserved); +int XDWAPI XDW_GetAnnotationAttribute(XDW_ANNOTATION_HANDLE handle, const char* lpszAttributeName, char* pAttribute, int nDataSize, void* reserved); + +int XDWAPI XDW_AddAnnotation(XDW_DOCUMENT_HANDLE handle, int hAnnotationType, int nPage, int nHorPos, int nVerPos, XDW_AA_INITIAL_DATA *pInitialData, XDW_ANNOTATION_HANDLE* phNewAnnotation, void* reserved); +int XDWAPI XDW_RemoveAnnotation(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hRemoveAnnotation, void* reserved); +int XDWAPI XDW_SetAnnotationAttribute(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, const char* lpszAttributeName, int nAttributeType, char* pAttributeValue, int nReserved, void* pReserved); +int XDWAPI XDW_SetAnnotationSize(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, int nWidth, int nHeight, void* reserved); +int XDWAPI XDW_SetAnnotationPosition(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, int nHorPos, int nVerPos, void* reserved); +int XDWAPI XDW_CreateSfxDocument(const char* lpszInputPath, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_CreateSfxDocumentW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_ExtractFromSfxDocument(const char* lpszInputPath, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_ExtractFromSfxDocumentW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, void* reserved); + +int XDWAPI XDW_ConvertPageToImageHandle(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_HGLOBAL* phDIB, XDW_IMAGE_OPTION* pImageOption); +int XDWAPI XDW_GetThumbnailImageHandle(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_HGLOBAL* phDIB, void* reserved); + +int XDWAPI XDW_GetPageTextToMemory(XDW_DOCUMENT_HANDLE handle, int nPage, char* lpszValue, int nDataSize, void* reserved); +int XDWAPI XDW_GetFullText(XDW_DOCUMENT_HANDLE handle, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_GetPageUserAttribute(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void *reserved); +int XDWAPI XDW_SetPageUserAttribute(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void *reserved); + +int XDWAPI XDW_ReducePageNoise(XDW_DOCUMENT_HANDLE handle, int nPage, int nLevel, void* reserved); +int XDWAPI XDW_ShowOrHideAnnotations(XDW_DOCUMENT_HANDLE handle, int nShowAnnotations, void* reserved); +int XDWAPI XDW_GetCompressedPageImage(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_GetCompressedPageImageW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_InsertDocument(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszInputPath, void* reserved); +int XDWAPI XDW_InsertDocumentW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszInputPath, void* reserved); +int XDWAPI XDW_ApplyOcr(XDW_DOCUMENT_HANDLE handle, int nPage, int nOcrEngine, void* pOption, void* reserved); +int XDWAPI XDW_RotatePageAuto(XDW_DOCUMENT_HANDLE handle, int nPage, void* reserved); +int XDWAPI XDW_CreateBinder(const char* lpszOutputPath, XDW_BINDER_INITIAL_DATA* pInitialData, void* reserved); +int XDWAPI XDW_CreateBinderW(const XDW_WCHAR* lpwszOutputPath, XDW_BINDER_INITIAL_DATA* pInitialData, void* reserved); +int XDWAPI XDW_InsertDocumentToBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, const char* lpszInputPath, void* reserved); + +int XDWAPI XDW_GetDocumentFromBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_GetDocumentFromBinderW(XDW_DOCUMENT_HANDLE handle, int nPosition, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_DeleteDocumentInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, void* reserved); +int XDWAPI XDW_GetDocumentNameInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, char* lpszDocName, int nDocNameSize, void* reserved); +int XDWAPI XDW_SetDocumentNameInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, char* lpszDocName, void* reserved); +int XDWAPI XDW_GetDocumentInformationInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, XDW_DOCUMENT_INFO* pDocumentInfo, void* reserved); +int XDWAPI XDW_Finalize(void* reserved); +int XDWAPI XDW_GetPageColorInformation(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_PAGE_COLOR_INFO* pColorInfo, void* reserved); +int XDWAPI XDW_OptimizeDocument(const char* lpszInputPath, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_OptimizeDocumentW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_ProtectDocument(const char* lpszInputPath, const char* lpszOutputPath, int nProtectType, void* pModuleOption, void* pProtectOption); +int XDWAPI XDW_ProtectDocumentW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, int nProtectType, void* pModuleOption, void* pProtectOption); + +int XDWAPI XDW_CreateXdwFromImageFileAndInsertDocument(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszInputPath, XDW_CREATE_OPTION* pOption, void* reserved); +int XDWAPI XDW_CreateXdwFromImageFileAndInsertDocumentW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszInputPath, XDW_CREATE_OPTION* pOption, void* reserved); +int XDWAPI XDW_GetDocumentAttributeNumber(XDW_DOCUMENT_HANDLE handle, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByName(XDW_DOCUMENT_HANDLE handle, const char* lpszAttributeName, int* nAttributeType, char* pAttributeValue, int nDataSize, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByOrder(XDW_DOCUMENT_HANDLE handle, int nOrder, char* lpszAttributeName, int* nAttributeType, char* pAttributeValue, int nDataSize, void* reserved); +int XDWAPI XDW_SetDocumentAttribute(XDW_DOCUMENT_HANDLE handle, const char* lpszAttributeName, int nAttributeType, char* pAttributeValue, void* reserved); +int XDWAPI XDW_SucceedAttribute(XDW_DOCUMENT_HANDLE handle, const char* lpszFilePath, int nDocument, int nSuccession, void* reserved); +int XDWAPI XDW_SucceedAttributeW(XDW_DOCUMENT_HANDLE handle, const XDW_WCHAR* lpwszFilePath, int nDocument, int nSuccession, void* reserved); +int XDWAPI XDW_GetPageFormAttribute(XDW_DOCUMENT_HANDLE handle, int nPageForm, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void* reserved); +int XDWAPI XDW_SetPageFormAttribute(XDW_DOCUMENT_HANDLE handle, int nPageForm, const char* lpszAttributeName, int nAttributeType, char* pAttributeValue, int nReserved, void* pReserved); +int XDWAPI XDW_UpdatePageForm(XDW_DOCUMENT_HANDLE handle, int nOtherPageForm, void* reserved); +int XDWAPI XDW_RemovePageForm(XDW_DOCUMENT_HANDLE handle, int nOtherPageForm, void* reserved); +int XDWAPI XDW_GetLinkRootFolderInformation(int nOrder, XDW_LINKROOTFOLDER_INFO* pLinkRootFolderInfo, void* reserved); +int XDWAPI XDW_GetLinkRootFolderInformationW(int nOrder, XDW_LINKROOTFOLDER_INFOW* pLinkRootFolderInfo, void* reserved); +int XDWAPI XDW_GetLinkRootFolderNumber(void* reserved); +int XDWAPI XDW_GetLinkRootFolderNumberW(void* reserved); +int XDWAPI XDW_GetPageTextInformation(XDW_DOCUMENT_HANDLE handle, int nPage, void* pInfo, void* reserved); +int XDWAPI XDW_GetDocumentSignatureNumber(XDW_DOCUMENT_HANDLE handle, void* reserved); +int XDWAPI XDW_AddAnnotationOnParentAnnotation(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, int hAnnotationType, int nHorPos, int nVerPos, XDW_AA_INITIAL_DATA *pInitialData, XDW_ANNOTATION_HANDLE* phNewAnnotation, void* reserved); +int XDWAPI XDW_SignDocument(const char* lpszInputPath, const char* lpszOutputPath, void* pOption, void* pModuleOption, void* pReserved, void* pModuleStatus); +int XDWAPI XDW_SignDocumentW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, void* pOption, void* pModuleOption, void* pReserved, void* pModuleStatus); +int XDWAPI XDW_GetSignatureInformation(XDW_DOCUMENT_HANDLE handle, int nSignature, void* pInfo, void* pModuleInfo, void* pReserved, void* pModuleStatus); +int XDWAPI XDW_UpdateSignatureStatus(XDW_DOCUMENT_HANDLE handle, int nSignature, void* pModuleOption, void* pReserved, void* pModuleStatus); + +int XDWAPI XDW_GetOcrImage(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszOutputPath, void* pImageOption, void* reserved); +int XDWAPI XDW_GetOcrImageW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszOutputPath, void* pImageOption, void* reserved); +int XDWAPI XDW_SetOcrData(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_OCR_TEXTINFO* pData, void* reserved); + +int XDWAPI XDW_GetDocumentAttributeNumberInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByNameInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, const char* lpszAttributeName, int* nAttributeType, char* pAttributeValue, int nDataSize, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByOrderInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, int nOrder, char* lpszAttributeName, int* nAttributeType, char* pAttributeValue, int nDataSize, void* reserved); + +int XDWAPI XDW_GetTMInfo(XDW_DOCUMENT_HANDLE handle, void* pTMInfo, int nTMInfoSize, void* reserved); +int XDWAPI XDW_SetTMInfo(XDW_DOCUMENT_HANDLE handle, const void* pTMInfo, int nTMInfoSize, void* reserved); + +int XDWAPI XDW_CreateXdwFromImagePdfFile(const char* lpszInputPath, const char* lpszOutputPath, void* reserved); + +int XDWAPI XDW_FindTextInPage(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszText, XDW_FIND_TEXT_OPTION* pOption, XDW_FOUND_HANDLE* pFoundHandle, void* reserved); +int XDWAPI XDW_FindNext(XDW_FOUND_HANDLE* pFoundHandle, void* reserved); +int XDWAPI XDW_GetNumberOfRectsInFoundObject(XDW_FOUND_HANDLE foundHandle, void* reserved); +int XDWAPI XDW_GetRectInFoundObject(XDW_FOUND_HANDLE foundHandle, int nRect, XDW_RECT* pRect, int* pnStatus, void* reserved); +int XDWAPI XDW_CloseFoundHandle(XDW_FOUND_HANDLE foundHandle); + +int XDWAPI XDW_GetAnnotationUserAttribute(XDW_ANNOTATION_HANDLE hAnnotation, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void *reserved); +int XDWAPI XDW_SetAnnotationUserAttribute(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void *reserved); + +int XDWAPI XDW_StarchAnnotation(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, int nStarch, void* reserved); + +int XDWAPI XDW_ReleaseProtectionOfDocument(const char* lpszInputPath, const char* lpszOutputPath, void* pOption); +int XDWAPI XDW_ReleaseProtectionOfDocumentW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, void* pOption); +int XDWAPI XDW_GetProtectionInformation(const char* lpszInputPath, XDW_PROTECTION_INFO* pProtectionInfo, void* reserved); +int XDWAPI XDW_GetProtectionInformationW(const XDW_WCHAR* lpwszInputPath, XDW_PROTECTION_INFO* pProtectionInfo, void* reserved); + +int XDWAPI XDW_GetAnnotationCustomAttributeByName(XDW_ANNOTATION_HANDLE hAnnotation, XDW_WCHAR* lpszAttributeName, int* pnAttributeType, char* pAttributeValue, int nDataSize, void* reserved); +int XDWAPI XDW_GetAnnotationCustomAttributeByOrder(XDW_ANNOTATION_HANDLE hAnnotation, int nOrder, XDW_WCHAR* lpszAttributeName, int* pnAttributeType, char* pAttributeValue, int nDataSize, void* reserved); +int XDWAPI XDW_GetAnnotationCustomAttributeNumber(XDW_ANNOTATION_HANDLE hAnnotation, void* reserved); +int XDWAPI XDW_SetAnnotationCustomAttribute(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, XDW_WCHAR* lpszAttributeName, int nAttributeType, char* pAttributeValue, void* reserved); + +int XDWAPI XDW_GetPageTextToMemoryW(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_WCHAR* pValue, int nBufferLength, void* reserved); +int XDWAPI XDW_GetFullTextW(XDW_DOCUMENT_HANDLE handle, const XDW_WCHAR* pOutputPath, void* reserved); +int XDWAPI XDW_GetAnnotationAttributeW(XDW_ANNOTATION_HANDLE handle, const char* lpszAttributeName, void* pAttributeValue, int nDataSize, int* pnTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_SetAnnotationAttributeW(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, const char* lpszAttributeName, int nAttributeType, void* pAttributeValue, int nTextType, unsigned int codepage, int nReserved, void* pReserved); +int XDWAPI XDW_GetDocumentAttributeByNameW(XDW_DOCUMENT_HANDLE handle, const XDW_WCHAR* pAttributeName, int* pnAttributeType, void* pAttributeValue, int nDataSize, int* pnTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByOrderW(XDW_DOCUMENT_HANDLE handle, int nOrder, XDW_WCHAR* pAttributeName, int* pnAttributeType, void* pAttributeValue, int nDataSize, int* pnTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByNameInBinderW(XDW_DOCUMENT_HANDLE handle, int nPosition, const XDW_WCHAR* pAttributeName, int* pnAttributeType, void* pAttributeValue, int nDataSize, int* pnTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByOrderInBinderW(XDW_DOCUMENT_HANDLE handle, int nPosition, int nOrder, XDW_WCHAR* pAttributeName, int* pnAttributeType, void* pAttributeValue, int nDataSize, int* pnTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_SetDocumentAttributeW(XDW_DOCUMENT_HANDLE handle, const XDW_WCHAR* pAttributeName, int nAttributeType, void* pAttributeValue, int nTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_GetDocumentNameInBinderW(XDW_DOCUMENT_HANDLE handle, int nPosition, XDW_WCHAR* pDocName, int nBufferLength, int* pnTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_SetDocumentNameInBinderW(XDW_DOCUMENT_HANDLE handle, int nPosition, const XDW_WCHAR* pDocName, int nTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_GetOriginalDataInformationW(XDW_DOCUMENT_HANDLE handle, int nOriginalData, XDW_ORGDATA_INFOW* pOriginalDataInfoW, int* pnTextType, unsigned int codepage, void* reserved); + +int XDWAPI XDW_AddAnnotationFromAnnFile(XDW_DOCUMENT_HANDLE handle, const char* lpszAnnFilePath, int nIndex, int nPage, XDW_ANNOTATION_HANDLE hAnnotation, int nHorPos, int nVerPos, XDW_ANNOTATION_HANDLE* phNewAnnotation, void* reserved); +int XDWAPI XDW_AddAnnotationFromAnnFileW(XDW_DOCUMENT_HANDLE handle, const XDW_WCHAR* lpwszAnnFilePath, int nIndex, int nPage, XDW_ANNOTATION_HANDLE hAnnotation, int nHorPos, int nVerPos, XDW_ANNOTATION_HANDLE* phNewAnnotation, void* reserved); +int XDWAPI XDW_GroupAnnotations(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_ANNOTATION_HANDLE hAnnotation, int* pnAnntationIndexes, int nAnnotationNum, XDW_ANNOTATION_HANDLE* phNewAnnotation, void* reserved); +int XDWAPI XDW_UnGroupAnnotation(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, void* reserved); + +/* error code */ +#ifndef XDWAPI_E_DECLARATIONS +#define XDWAPI_E_DECLARATIONS + +#define XDW_E_NOT_INSTALLED ((int)0x80040001) +#define XDW_E_INFO_NOT_FOUND ((int)0x80040002) +#define XDW_E_INSUFFICIENT_BUFFER ((int)0x8007007A) +#define XDW_E_FILE_NOT_FOUND ((int)0x80070002) +#define XDW_E_FILE_EXISTS ((int)0x80070050) +#define XDW_E_ACCESSDENIED ((int)0x80070005) +#define XDW_E_BAD_FORMAT ((int)0x8007000B) +#define XDW_E_OUTOFMEMORY ((int)0x8007000E) +#define XDW_E_WRITE_FAULT ((int)0x8007001D) +#define XDW_E_SHARING_VIOLATION ((int)0x80070020) +#define XDW_E_DISK_FULL ((int)0x80070027) +#define XDW_E_INVALIDARG ((int)0x80070057) +#define XDW_E_INVALID_NAME ((int)0x8007007B) +#define XDW_E_INVALID_ACCESS ((int)0x80040003) +#define XDW_E_INVALID_OPERATION ((int)0x80040004) +#define XDW_E_NEWFORMAT ((int)0x800E0004) +#define XDW_E_BAD_NETPATH ((int)0x800E0005) +#define XDW_E_APPLICATION_FAILED ((int)0x80001156) +#define XDW_E_SIGNATURE_MODULE ((int)0x800E0010) +#define XDW_E_PROTECT_MODULE ((int)0x800E0012) +#define XDW_E_UNEXPECTED ((int)0x8000FFFF) +#define XDW_E_CANCELED ((int)0x80040005) +#define XDW_E_ANNOTATION_NOT_ACCEPTED ((int)0x80040006) + +#endif //XDWAPI_E_DECLARATIONS + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif /* __cplusplus */ + +#endif /* XDW_API_H */ +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Nk/xdwapian.h Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,133 @@ +/* File: xdwapian.h +// Copyright(C) 1999-2002 by Fuji Xerox Co., Ltd. All right reserved. +*/ + +#ifndef __XDWAPIAN_H__ +#define __XDWAPIAN_H__ 1 + +#define XDW_ATN_Text "%Text" +#define XDW_ATN_FontName "%FontName" +#define XDW_ATN_FontStyle "%FontStyle" +#define XDW_ATN_FontSize "%FontSize" +#define XDW_ATN_ForeColor "%ForeColor" +#define XDW_ATN_FontPitchAndFamily "%FontPitchAndFamily" +#define XDW_ATN_FontCharSet "%FontCharSet" +#define XDW_ATN_BackColor "%BackColor" +#define XDW_ATN_Caption "%Caption" +#define XDW_ATN_Url "%Url" +#define XDW_ATN_XdwPath "%XdwPath" +#define XDW_ATN_ShowIcon "%ShowIcon" +#define XDW_ATN_LinkType "%LinkType" +#define XDW_ATN_XdwPage "%XdwPage" +#define XDW_ATN_Tooltip "%Tooltip" +#define XDW_ATN_Tooltip_String "%TooltipString" +#define XDW_ATN_XdwPath_Relative "%XdwPathRelative" +#define XDW_ATN_XdwLink "%XdwLink" +#define XDW_ATN_LinkAtn_Title "%LinkAtnTitle" +#define XDW_ATN_OtherFilePath "%OtherFilePath" +#define XDW_ATN_OtherFilePath_Relative "%OtherFilePathRelative" +#define XDW_ATN_MailAddress "%MailAddress" +#define XDW_ATN_BorderStyle "%BorderStyle" +#define XDW_ATN_BorderWidth "%BorderWidth" +#define XDW_ATN_BorderColor "%BorderColor" +#define XDW_ATN_BorderTransparent "%BorderTransparent" +#define XDW_ATN_BorderType "%BorderType" +#define XDW_ATN_FillStyle "%FillStyle" +#define XDW_ATN_FillColor "%FillColor" +#define XDW_ATN_FillTransparent "%FillTransparent" +#define XDW_ATN_ArrowheadType "%ArrowheadType" +#define XDW_ATN_ArrowheadStyle "%ArrowheadStyle" +#define XDW_ATN_WordWrap "%WordWrap" +#define XDW_ATN_TextDirection "%TextDirection" +#define XDW_ATN_TextOrientation "%TextOrientation" +#define XDW_ATN_LineSpace "%LineSpace" +#define XDW_ATN_AutoResize "%AutoResize" +#define XDW_ATN_Invisible "%Invisible" +#define XDW_ATN_PageFrom "%PageFrom" +#define XDW_ATN_XdwNameInXbd "%XdwNameInXbd" +#define XDW_ATN_TopField "%TopField" +#define XDW_ATN_BottomField "%BottomField" +#define XDW_ATN_DateStyle "%DateStyle" +#define XDW_ATN_YearField "%YearField" +#define XDW_ATN_MonthField "%MonthField" +#define XDW_ATN_DayField "%DayField" +#define XDW_ATN_BasisYearStyle "%BasisYearStyle" +#define XDW_ATN_BasisYear "%BasisYear" +#define XDW_ATN_DateField_FirstChar "%DateFieldFirstChar" +#define XDW_ATN_Alignment "%Alignment" +#define XDW_ATN_LeftRightMargin "%LeftRightMargin" +#define XDW_ATN_TopBottomMargin "%TopBottomMargin" +#define XDW_ATN_VerPosition "%VerPosition" +#define XDW_ATN_StartingNumber "%StartingNumber" +#define XDW_ATN_Digit "%Digit" +#define XDW_ATN_PageRange "%PageRange" +#define XDW_ATN_BeginningPage "%BeginningPage" +#define XDW_ATN_EndingPage "%EndingPage" +#define XDW_ATN_Zoom "%Zoom" +#define XDW_ATN_ImageFile "%ImageFile" +#define XDW_ATN_Points "%Points" +#define XDW_ATN_DateFormat "%DateFormat" +#define XDW_ATN_DateOrder "%DateOrder" +#define XDW_ATN_TextSpacing "%Spacing" +#define XDW_ATN_TextTopMargin "%TopMargin" +#define XDW_ATN_TextLeftMargin "%LeftMargin" +#define XDW_ATN_TextBottomMargin "%BottomMargin" +#define XDW_ATN_TextRightMargin "%RightMargin" +#define XDW_ATN_TextAutoResizeHeight "%AutoResizeHeight" +#define XDW_ATN_GUID "%CustomAnnGuid" +#define XDW_ATN_CustomData "%CustomAnnCustomData" + +#define XDW_PROP_TITLE "%Title" +#define XDW_PROP_SUBJECT "%Subject" +#define XDW_PROP_AUTHOR "%Author" +#define XDW_PROP_KEYWORDS "%Keywords" +#define XDW_PROP_COMMENTS "%Comments" + +#define XDW_PROPW_TITLE L"%Title" +#define XDW_PROPW_SUBJECT L"%Subject" +#define XDW_PROPW_AUTHOR L"%Author" +#define XDW_PROPW_KEYWORDS L"%Keywords" +#define XDW_PROPW_COMMENTS L"%Comments" + +#define XDW_COLOR_NONE 0x010101 +#define XDW_COLOR_BLACK 0x000000 +#define XDW_COLOR_MAROON 0x000080 +#define XDW_COLOR_GREEN 0x008000 +#define XDW_COLOR_OLIVE 0x008080 +#define XDW_COLOR_NAVY 0x800000 +#define XDW_COLOR_PURPLE 0x800080 +#define XDW_COLOR_TEAL 0x808000 +#define XDW_COLOR_GRAY 0x808080 +#define XDW_COLOR_SILVER 0xC0C0C0 +#define XDW_COLOR_RED 0x0000FF +#define XDW_COLOR_LIME 0x00FF00 +#define XDW_COLOR_YELLOW 0x00FFFF +#define XDW_COLOR_BLUE 0xFF0000 +#define XDW_COLOR_FUCHIA 0xFF00FF +#define XDW_COLOR_AQUA 0xFFFF00 +#define XDW_COLOR_WHITE 0xFFFFFF +#define XDW_COLOR_FUSEN_RED 0xFFC2FF +#define XDW_COLOR_FUSEN_BLUE 0xFFBF9D +#define XDW_COLOR_FUSEN_YELLOW 0x64FFFF +#define XDW_COLOR_FUSEN_LIME 0xC2FF9D +#define XDW_COLOR_FUSEN_PALE_RED 0xE1D7FF +#define XDW_COLOR_FUSEN_PALE_BLUE 0xFAE1C8 +#define XDW_COLOR_FUSEN_PALE_YELLOW 0xC3FAFF +#define XDW_COLOR_FUSEN_PALE_LIME 0xD2FACD + +#define XDW_FS_ITALIC_FLAG 1 +#define XDW_FS_BOLD_FLAG 2 +#define XDW_FS_UNDERLINE_FLAG 4 +#define XDW_FS_STRIKEOUT_FLAG 8 + +#define XDW_LT_LINK_TO_ME 0 +#define XDW_LT_LINK_TO_XDW 1 +#define XDW_LT_LINK_TO_URL 2 +#define XDW_LT_LINK_TO_OTHERFILE 3 +#define XDW_LT_LINK_TO_MAILADDR 4 + +#define XDW_PF_XDW 0 +#define XDW_PF_XBD 1 +#define XDW_PF_XDW_IN_XBD 2 + +#endif //__XDWAPIAN_H__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Nk/超5.bat Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,4 @@ +@echo off +rem nk -l -t -b 555 +nk -c +nk -l -t
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Perori/Perori.bat Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,9 @@ +@echo off +set PDIR=C:\Users\KAIGO\Desktop\Perori +mkdir %PDIR% + +copy S:\Current\0000_Every\ˆÓŒ©‘E’²¸ˆË—Š\* %PDIR% +C: +cd %PDIR% +call %PDIR%\make.bat +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Perori/addtoday.go Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,14 @@ +package main + +import ( + "io/ioutil" + "os" + "time" +) + +func main() { + t := time.Now().Format("20060102_") + b, _ := ioutil.ReadFile(os.Args[1]) + ioutil.WriteFile(t + os.Args[1], b, 0644) +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Perori/bk.go Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,437 @@ +/* + bk.go: Insert Biko & Hatsuban + + Last Change: 2020-03-04 æ°´ 16:48:05. +*/ + +package main + +/* +#cgo LDFLAGS: -L. -lxdwapi -static +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <io.h> +#include <windows.h> +#include <xdw_api.h> +#include <xdwapian.h> + +#define MAXCOL 1024 +#define MAXLINE 9999 +#define BLOCKSZ 128 + +char* xdw2txt(const char* file) { + char in_path[_MAX_PATH]; + _fullpath(in_path, file, _MAX_PATH); + + XDW_DOCUMENT_HANDLE h = NULL; // 文書ãƒãƒ³ãƒ‰ãƒ«ã‚’é–‹ã + XDW_OPEN_MODE_EX mode = {sizeof(XDW_OPEN_MODE_EX), XDW_OPEN_READONLY, XDW_AUTH_NODIALOGUE}; + if (XDW_OpenDocumentHandle(in_path, &h, (XDW_OPEN_MODE*)&mode)) { + printf("Error: cannot open %s\n", file); + return NULL; + } + + XDW_DOCUMENT_INFO info = {sizeof(XDW_DOCUMENT_INFO), 0, 0, 0}; // ç·ãƒšãƒ¼ã‚¸æ•°ã‚’å¾—ã‚‹ + XDW_GetDocumentInformation(h, &info); + int nPage = info.nPages; + + // ãƒ¡ã‚¤ãƒ³å‡¦ç† + char *lpszvalue, *all_lpszvalue; + long datasize[9999]; + for (int i = 1; i <= nPage; i++) { + datasize[i] = XDW_GetPageTextToMemory(h, i, NULL, 0, NULL); + datasize[0] += datasize[i]; + } + datasize[0] += nPage - 1; // for "\n" + all_lpszvalue = (char*)malloc(sizeof(char)*datasize[0]); + all_lpszvalue[0] = '\0'; + for (int i = 1; i <= nPage; i++) { + if (i<nPage) datasize[i]++; // for "\n" + lpszvalue = (char*)malloc(sizeof(char)*(datasize[i])); + XDW_GetPageTextToMemory(h, i, lpszvalue, datasize[i], NULL); + strcat(all_lpszvalue, lpszvalue); + if (i < nPage) strcat(all_lpszvalue, "\n"); + free(lpszvalue); + } + + XDW_CloseDocumentHandle(h, NULL); // 文書ãƒãƒ³ãƒ‰ãƒ«ã‚’é–‰ã˜ã‚‹ + return all_lpszvalue; +} + +int xdwhb(const char* in_file, const char* out_file, char* hb, const char* stxt) { + int x = 18000; + int y = 1200; + int sz = 110; + + char in_path[_MAX_PATH], out_path[_MAX_PATH]; + _fullpath(in_path, in_file, _MAX_PATH); + _fullpath(out_path, out_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; + + XDW_ANNOTATION_HANDLE annoation; + int api_result = XDW_AddAnnotation(h, XDW_AID_TEXT, i + 1, x, y, NULL, &annoation, NULL); + if (api_result < 0) return api_result; + + 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); + } + + XDW_SaveDocument(h, NULL); + XDW_CloseDocumentHandle(h, NULL); + + api_result = XDW_OptimizeDocument(in_path, out_path, NULL); + return 0; +} + +int xdwbiko(const char* in_file, const int page, const int r, char* biko, char* kubun) { + int x1 = 2000; + int y1 = 4680 + r * 2720; + int sz = 90; + int x2 = 18950; + int y2 = 5090 + r * 2720; + + 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_ANNOTATION_HANDLE annoation1, annoation2; + int color = XDW_COLOR_NONE; + + api_result = XDW_AddAnnotation(h, XDW_AID_TEXT, page, x1, y1, NULL, &annoation1, NULL); + if (api_result < 0) return api_result; + api_result = XDW_AddAnnotation(h, XDW_AID_TEXT, page, x2, y2, NULL, &annoation2, NULL); + if (api_result < 0) return api_result; + + api_result = XDW_SetAnnotationAttribute(h, annoation1, XDW_ATN_Text, XDW_ATYPE_STRING, biko, 0, NULL); + api_result = XDW_SetAnnotationAttribute(h, annoation1, XDW_ATN_FontSize, XDW_ATYPE_INT, (char*)&sz, 0, NULL); + api_result = XDW_SetAnnotationAttribute(h, annoation1, XDW_ATN_BackColor, XDW_ATYPE_INT, (char*)&color, 0, NULL); + + api_result = XDW_SetAnnotationAttribute(h, annoation2, XDW_ATN_Text, XDW_ATYPE_STRING, kubun, 0, NULL); + api_result = XDW_SetAnnotationAttribute(h, annoation2, XDW_ATN_FontSize, XDW_ATYPE_INT, (char*)&sz, 0, NULL); + api_result = XDW_SetAnnotationAttribute(h, annoation2, XDW_ATN_BackColor, XDW_ATYPE_INT, (char*)&color, 0, NULL); + + XDW_SaveDocument(h, NULL); + XDW_CloseDocumentHandle(h, NULL); + + return 0; +} + +*/ +import "C" + +import ( + "bufio" + "encoding/csv" + "fmt" + "flag" + "io/ioutil" + "log" + "os" + "regexp" + "strconv" + "strings" + "time" + + "golang.org/x/text/encoding/japanese" + "golang.org/x/text/transform" +) + +// Constants +const ( + version = "0.3" + default_ccsvfile = "chosairai.csv" + default_icsvfile = "ikenshoirai.csv" + default_cxdwfile = "KBPC116G.xdw" + default_ixdwfile = "KBPB116G.xdw" + default_tmpxdw = "tmp.xdw" + default_cout = "outc.xdw" + default_iout = "outi.xdw" + default_lout = "xyz.csv" +) + +var ( + hbi, hbc string // 発番 + start time.Time + + flg_hb int + flg_time bool + + re_hhsno, re_date, re_city, re_name, re_zensp *regexp.Regexp +) + +func init(){ + os.Remove(default_cout) + os.Remove(default_iout) + os.Remove(default_lout) + + re_hhsno = regexp.MustCompile(`0[1238]\d{8}`) + re_date = regexp.MustCompile(`((明治)|(大æ£)|(æ˜å’Œ)|(å¹³æˆ)|(令和)).{1,2}å¹´.\d月.\dæ—¥`) + re_city = regexp.MustCompile(`(((å¹³æˆ)|(令和)).{1,2}å¹´.\d月.\dæ—¥){2}...`) + re_name = regexp.MustCompile(`0[1238]\d{8}.*((å¹³æˆ)|(令和)).{1,2}å¹´.\d月.\dæ—¥`) + re_zensp = regexp.MustCompile(` {2,}`) +} + +func main() { + start = time.Now() + /* PRINT HEADER */ + fmt.Println("=======================================") + fmt.Println(" 備考を...ã™ã‚‹") + fmt.Printf(" - bk [ver %s] -\n", version) + fmt.Println("=======================================\n") + + + /* INITIALIZE FLAGS */ + today := time.Now().Format("20060102") + + flag.StringVar(&today, "d", today, "irai ymd (default today)") + flag.IntVar(&flg_hb, "b", 0, "set hatsuban (default 0)") + flag.BoolVar(&flg_time, "t", false, "print time") + + flag.Parse() + + /* USER INPUT */ + hbi = fmt.Sprintf("%d", flg_hb) + if flg_hb == 0 { + fmt.Print("発番 > ") + fmt.Scan(&hbi) + } + i, err := strconv.Atoi(hbi) + if err != nil { + log.Fatal(err) + } + hbc = fmt.Sprintf("%d", i + 1) + + /* READ BIKO FROM CSV */ + bhash, err := getBiko_fromCSV(default_ccsvfile, today) + if err != nil { + log.Fatal(err) + } + fmt.Println(" 備考データèªè¾¼") + step_start := print_time(start) + + /* READ KUBUN FROM CSV */ + khash, err := getKubun_fromCSV(default_icsvfile, bhash) + if err != nil { + log.Fatal(err) + } + fmt.Println(" 申請区分データèªè¾¼") + step_start = print_time(start) + + /* INSERT BIKO */ + var ctxt []string + copy_tmp(default_cxdwfile) + for p, t := range xdw2txt(default_cxdwfile) { + for r, hno := range re_hhsno.FindAllString(t, -1) { + if bk, ok := bhash[hno]; ok { + C.xdwbiko(C.CString(default_tmpxdw), C.int(p + 1), C.int(r), C.CString(bk), C.CString(khash[hno])) + } + } + ctxt = append(ctxt, t) + } + fmt.Println(" 備考ã¨ç”³è«‹åŒºåˆ†ã‚’è¿½åŠ ") + + /* 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(" ç™ºç•ªè¿½åŠ ï¼ˆèª¿æŸ»ä¾é ¼ãƒ•ァイル)") + step_start = print_time(step_start) + + copy_tmp(default_ixdwfile) + C.xdwhb(C.CString(default_tmpxdw), C.CString(default_iout), C.CString(hbc), C.CString(stxt)) + fmt.Println(" ç™ºç•ªè¿½åŠ ï¼ˆ æ„見書ä¾é ¼ãƒ•ァイル)") + step_start = print_time(step_start) + + /* CHOSA IRAI LIST */ + f, err := os.Create(default_lout) + if err != nil { + log.Fatal(err) + } + defer f.Close() + w := bufio.NewWriter(transform.NewWriter(f, japanese.ShiftJIS.NewEncoder())) + + header := []string{"申請日", "被ä¿ç•ª", "æ°å", "生年月日", "市町æ‘", "-", "-", "-", "ä¾é ¼æ—¥"} + fmt.Fprintln(w, strings.Join(header, ",")) + + var req string + for _, txt := range ctxt { + str := strings.TrimRight(txt, " ") + if strings.HasSuffix(str, "ä¾é ¼æ›¸") { + req = re_date.FindString(str) + req = strings.Replace(req, " ", "", -1) + } else { + row := strings.Split(str, "〒") + for i := 0; i < len(row) - 1; i++ { + var app, hhsno, name, birth, city, empty string + + d := re_date.FindAllString(row[i], -1) + if len(d) > 0 { + birth = strings.Replace(d[0], " ", "", -1) + app = strings.Replace(d[1], " ", "", -1) + } + if re_hhsno.MatchString(row[i]) { + hhsno = "=\"" + re_hhsno.FindString(row[i]) + "\"" + } + if re_name.MatchString(row[i]) { + n := []rune(re_name.FindString(row[i])) + kana := string(n[10:36]) + kana = strings.Trim(kana, " ") + name = string(n[37:55]) + name = strings.Trim(name, " ") + name = re_zensp.ReplaceAllString(name, "") + name += "(" + kana + ")" + } + if re_city.MatchString(row[i]) { + c := []rune(re_city.FindString(row[i])) + city = string(c[len(c)-3:]) + city = strings.Replace(city, "仙北郡", "美郷町", -1) + } + + if hhsno != "" { + fields := []string{app, hhsno, name, birth, city, empty, empty, empty, req} + fmt.Fprintln(w, strings.Join(fields, ",")) + } + } + } + } + w.Flush() + + fmt.Println(" 調査ä¾é ¼ãƒªã‚¹ãƒˆä½œæˆ") + step_start = print_time(step_start) + + /* CLEAN */ + os.Remove(default_tmpxdw) + fmt.Println(" 終了") + step_start = print_time(step_start) +} + +func getBiko_fromCSV(file, date string) (bikohash map[string]string, err error) { + bikohash = make(map[string]string) + + data, err := ioutil.ReadFile(file) + if err != nil { + return bikohash, err + } + + r := csv.NewReader(strings.NewReader(string(data))) + records, err := r.ReadAll() + if err != nil { + return bikohash, err + } + + for _, record := range records { + hno := strings.TrimSpace(record[0]) + iraiymd := strings.TrimSpace(record[5]) + if iraiymd != date { + continue + } + bikohash[hno] = record[3] + } + + return bikohash, nil +} + +func getKubun_fromCSV(file string, hhshash map[string]string) (kubunhash map[string]string, err error) { + kubunhash = make(map[string]string) + ymdhash := make(map[string]string) + + data, err := ioutil.ReadFile(file) + if err != nil { + return kubunhash, err + } + + r := csv.NewReader(strings.NewReader(string(data))) + records, err := r.ReadAll() + if err != nil { + return kubunhash, err + } + + for _, record := range records { + hno := strings.TrimSpace(record[0]) + if _, ok := hhshash[hno]; !ok { + continue + } + if ymd, ok := ymdhash[hno]; !ok || ymd < record[8] { + ymdhash[hno] = record[8] + } + var buf string + switch strings.TrimSpace(record[9]) { + case "01": + buf = "[æ–°è¦]" + case "02": + buf = "[æ›´æ–°]" + case "10": + buf = "[支介]" + case "05": + buf = "[区変]" + case "03": + buf = "[転入]" + case "09": + buf = "[証交]" + } + kubun, _, _ := transform.String(japanese.ShiftJIS.NewEncoder(), buf) + kubunhash[hno] = kubun + } + + return kubunhash, nil +} + + +func copy_tmp(file string) error { + os.Remove(default_tmpxdw) + b, err := ioutil.ReadFile(file) + if err != nil { + return err + } + if err := ioutil.WriteFile(default_tmpxdw, b, 0644); err != nil { + return err + } + return nil +} + +func xdw2txt(file string) (txt []string) { + s := C.GoString(C.xdw2txt(C.CString(file))) + r := strings.NewReader(s) + tr := transform.NewReader(r, japanese.ShiftJIS.NewDecoder()) + buf := bufio.NewScanner(tr) + for buf.Scan() { + txt = append(txt, buf.Text()) + } + return +} + +func print_time(t time.Time) time.Time { + now := time.Now() + if !flg_time { + return now + } + elapsed := now.Sub(t) + total := now.Sub(start) + s := fmt.Sprintf("---- Elapsed: %v (total = %v) @ %02d:%02d\n", elapsed, total, now.Hour(), now.Minute()) + fmt.Print(s) + return now +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Perori/make.bat Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,15 @@ +@echo off +set ACCESS="C:\Program Files\Microsoft Office\Office15\MSACCESS.EXE" +set MDB=C:\Users\KAIGO\Desktop\Perori\export.mdb +set OUTPUT=ˆÓŒ©‘ˆË—Šˆê——.html + +%ACCESS% %MDB% /nostartup /x data + +copy C:\Users\KAIGO\Documents\chosairai.csv . +copy C:\Users\KAIGO\Documents\ikenshoirai.csv . + +rem perori.exe -d -c hoge.csv -b fuga.db -r 20202014 > a.html +perori_go.exe > %OUTPUT% +addtoday_go.exe %OUTPUT% +rem start %OUTPUT% +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Perori/perori.go Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,386 @@ +package main + +import ( + "flag" + "compress/gzip" + "encoding/csv" + "fmt" + "html/template" + "io/ioutil" + "log" + "os" + "strings" + "sort" + "time" + + "golang.org/x/text/encoding/japanese" + "golang.org/x/text/transform" +) + +var debug_log bool + +// Constants +const version = "0.2" +const default_dbfile = "ikenshoirai.db" +const default_csvfile = "ikenshoirai.csv" + +const tpl = ` +<!DOCTYPE html> <html> + <head> + <style type="text/css"> + body { font-size: 9pt; margin-left: 0px;} + h2 { font-size: 11pt; margin-bottom: 1px; background-color: #ccccff; padding-left: 5px; } + h3 { font-size: 11pt; margin-bottom: 1px; background-color: #f0a8a8; padding-left: 10px; } + table, th, td { border: 0.3px #c0c0c0 solid; border-collapse:collapse; } + table { margin-bottom: 5px; margin-left: 15px; } + th { background-color: #ccffcc; } + hr { page-break-before: always; } + </style> + <title> - </title> + </head> + <body> + + <h2> List <small>( Date = {{.Ymd}} / N = {{.NHhs}} / Dr = {{.NDr}} )</small> </h2> + {{range .Doctors}} + <h3>{{.Name}}<small> ..... {{.Hp}}:{{.Senmon}}</small></h3> + {{range .Clients}} + <table> + <tr> + <td width=140 style="background-color: #98f0f0; padding-left: 10px;">{{.Name}}</td> + <td width=120 align=center>{{.Kubun}} {{.Ymd}}</td> + <td width=480 style="padding-left: 10px;"> + + {{if .Prev.Ymd}} + {{if eq .DrId .Prev.DrId}} + {{str2cp932 "★ 継続 -"}} {{.Prev.Ymd}} + {{else}} + {{.Prev.Dr}} {{.Prev.Ymd}} + {{end}} + {{else}} + New ! + {{end}} + + </td> + <td width=80 align=center>{{.Hhsno}}</td> + </tr> + <tr> + <td colspan=4 style="font-family: serif; font-size: 8pt; padding-left: 10px;">{{.Biko}}</td> + </tr> + + </table> + {{end}} + {{end}} + + <hr /> + {{$hpno := 0}} + <h2> N by Hp </h2> + <table> + <tr> <th> no </th> <th> hp </th> <th width=60> n </th> </tr> + {{range $hp, $n := .Hp}} + <tr> + {{$hpno = add1 $hpno}} + <td align=right style="padding-right: 5px;"> {{$hpno}} </td> + <td style="padding-left: 5px;"> {{$hp}} </td> + <td align=right style="padding-right: 5px;"> {{$n}} </td> + </tr> + {{end}} + <tr> <td></td> <td align=right> sum > > ></td> <td align=right style="padding-right: 5px;"> <b> {{.HpSum}} </b> </td> </tr> + </table> + </body> +</html>` + + +// Define Types +type PrevSinsei struct { + Biko string + DrId string + Dr string + IraiYmd string + Ymd string + Kubun string +} + +type Sinsei struct { + Hhsno string + Name string + Biko string + DrId string + Dr string + DrKana string + Hp string + IraiYmd string + Ymd string + Kubun string + Senmon string + Prev PrevSinsei +} + +func (s *Sinsei) SetPrev(prev PrevSinsei) { + s.Prev = prev +} + +func (s Sinsei) String() string { + return strings.Join([]string{s.Hhsno, s.Name, s.Ymd, s.Kubun, s.Dr, s.Hp, s.Senmon, s.IraiYmd, s.Biko}, ",") +} + +func (s *Sinsei) Humanize() { + var buf string + + switch s.Kubun { + case "01": + buf = "æ–°è¦" + case "02": + buf = "æ›´æ–°" + case "10": + buf = "支介" + case "05": + buf = "区変" + case "03": + buf = "転入" + case "09": + buf = "証交" + } + s.Kubun, _, _ = transform.String(japanese.ShiftJIS.NewEncoder(), buf) + + s.Ymd = strings.Join([]string{s.Ymd[4:6], s.Ymd[6:8]}, ".") +} + +type Doctor struct { + Id string + Name string + Kana string + Hp string + Senmon string + Clients []Sinsei +} + +func (d *Doctor) AddClient(sinsei Sinsei) { + d.Clients = append(d.Clients, sinsei) +} + +func (d Doctor) String() string { + return d.Name +} + +// Main +func main() { + var csvfile, dbfile, date string + + today := time.Now().Format("20060102") + + flag.StringVar(&csvfile, "c", default_csvfile, "csv file") + flag.StringVar(&dbfile, "b", default_dbfile, "db file") + flag.StringVar(&date, "r", today, "Ikensho Irai YMD") + flag.BoolVar(&debug_log, "d", false, "print debug-log (stderr)") + flag.Parse() + + csvdata, hhshash, err := getdata_fromCSV(csvfile, date) + if err != nil { + log.Fatal(err) + } + print_debug_log(fmt.Sprintf("csvdata: n=%d", len(csvdata))) // + print_debug_log(fmt.Sprintf("hhshash: n=%d", len(hhshash))) // + + dbdata, err := getdata_fromDB(dbfile, hhshash) + if err != nil { + log.Fatal(err) + } + print_debug_log(fmt.Sprintf("dbdata: n=%d", len(dbdata))) // + + dbdata = append(dbdata, csvdata...) + print_debug_log(fmt.Sprintf("dbdata: n=%d", len(dbdata))) // + + sort.Slice(dbdata, func(i, j int) bool { + if dbdata[i].Hhsno != dbdata[j].Hhsno { + return dbdata[i].Hhsno < dbdata[j].Hhsno + } + if dbdata[i].Ymd != dbdata[j].Ymd { + return dbdata[i].Ymd > dbdata[j].Ymd + } + return false + }) + + var recentdata []Sinsei + prevhash := make(map[string]PrevSinsei) + hhscnt := make(map[string]int) + for _, ss := range dbdata { + ss.Humanize() + if n := hhscnt[ss.Hhsno]; n == 1 { + prevhash[ss.Hhsno] = PrevSinsei{ + Biko: ss.Biko, + DrId: ss.DrId, + Dr: ss.Dr + "(" + ss.Hp + ":" + ss.Senmon + ")", + IraiYmd: ss.IraiYmd, + Ymd: ss.Ymd, + Kubun: ss.Kubun, + } + } else { + recentdata = append(recentdata, ss) + hhscnt[ss.Hhsno]++; + } + } + print_debug_log(fmt.Sprintf("recentdata: n=%d", len(recentdata))) // + + doctorhash := make(map[string]Doctor) + hpcnt := make(map[string]int) + var hpcntsum int + for _, ss := range recentdata { + ss.SetPrev(prevhash[ss.Hhsno]) + if d, ok := doctorhash[ss.DrId]; !ok { + doctorhash[ss.DrId] = Doctor{ + Id: ss.DrId, + Name: ss.Dr, + Kana: ss.DrKana, + Hp: ss.Hp, + Senmon: ss.Senmon, + Clients: []Sinsei{ss}, + } + } else { + d.AddClient(ss) + doctorhash[ss.DrId] = d + } + hpcnt[ss.Hp]++ + hpcntsum++ + } + + var doctors []Doctor + for _, dr := range doctorhash { + doctors = append(doctors, dr) + } + sort.Slice(doctors, func(i, j int) bool { + return doctors[i].Kana < doctors[j].Kana + }) + + irai := struct { + Ymd string + NHhs int + NSinsei int + NDr int + Doctors []Doctor + Hp map[string]int + HpSum int + }{ + Ymd: strings.Join([]string{date[0:4], date[4:6], date[6:8]}, "."), + NHhs: len(hhshash), + NSinsei: len(dbdata), + NDr: len(doctors), + Doctors: doctors, + Hp: hpcnt, + HpSum: hpcntsum, + } + + funcmap := template.FuncMap{ + "shorten": shorten, + "str2cp932": str2cp932, + "add1": func(a int) int { return a + 1 }, + } + + t, err := template.New("webpage").Funcs(funcmap).Parse(tpl) + if err != nil { + log.Fatal(err) + } + + err = t.Execute(os.Stdout, irai) + if err != nil { + log.Fatal(err) + } +} + +// Utility functions +func csv2sinsei(record []string) Sinsei { + return Sinsei{ + Hhsno: strings.TrimSpace(record[0]), + Name: strings.TrimSpace(record[1]), + Biko: strings.TrimSpace(record[2]), + DrId: strings.TrimSpace(record[3]), + Dr: strings.TrimSpace(record[4]), + DrKana: strings.TrimSpace(record[5]), + Hp: strings.TrimSpace(record[6]), + IraiYmd: strings.TrimSpace(record[7]), + Ymd: strings.TrimSpace(record[8]), + Kubun: strings.TrimSpace(record[9]), + Senmon: strings.TrimSpace(record[10]), + } +} + +func getdata_fromCSV(file, date string) (sinsei []Sinsei, hhshash map[string]bool, err error) { + hhshash = make(map[string]bool) + + data, err := ioutil.ReadFile(file) + if err != nil { + return sinsei, hhshash, err + } + + r := csv.NewReader(strings.NewReader(string(data))) + records, err := r.ReadAll() + if err != nil { + return sinsei, hhshash, err + } + + for _, record := range records { + ss := csv2sinsei(record) + if ss.IraiYmd != date { + continue + } + hhshash[ss.Hhsno] = true + sinsei = append(sinsei, ss) + } + + return sinsei, hhshash, nil +} + +func getdata_fromDB(file string, hhshash map[string]bool) (sinsei []Sinsei, err error) { + f, err := os.Open(file) + if err != nil { + return sinsei, err + } + defer f.Close() + + zr, err := gzip.NewReader(f) + if err != nil { + return sinsei, err + } + + data, err := ioutil.ReadAll(zr) + if err != nil { + return sinsei, err + } + + if err := zr.Close(); err != nil { + return sinsei, err + } + + r := csv.NewReader(strings.NewReader(string(data))) + records, err := r.ReadAll() + if err != nil { + return sinsei, err + } + + for _, record := range records { + hno := strings.TrimSpace(record[0]) + if _, ok := hhshash[hno]; ok { + sinsei = append(sinsei, csv2sinsei(record)) + } + } + + return sinsei, nil +} + +func shorten(msg string, length int) string { + if len(msg) > length { + msg = msg[0:length] + "..." + } + return msg +} + +func str2cp932(s string) string { + s, _, _ = transform.String(japanese.ShiftJIS.NewEncoder(), s) + return s +} + +func print_debug_log(msg string) { + if debug_log { + fmt.Fprintf(os.Stderr, "%s\n", msg) + } +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Perori/xdw_api.h Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,1121 @@ +/* File: xdw_api.h +// Copyright(C) 1999-2013 by Fuji Xerox Co., Ltd. All right reserved. +*/ + +#ifndef XDW_API_H +#define XDW_API_H + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#ifndef XDWAPI_DECLARATIONS +#define XDWAPI_DECLARATIONS + +#ifdef _WIN64 +#ifndef XDW_DISABLE_PRAGMA_PACK +#pragma pack(push, xdwapi_enter_parser) +#pragma pack(8) +#endif /* XDW_DISABLE_PRAGMA_PACK */ +#endif /* _WIN64 */ + +#define XDWAPI __stdcall + +#define XDW_GI_VERSION 1 +#define XDW_GI_INSTALLPATH 2 +#define XDW_GI_BINPATH 3 +#define XDW_GI_PLUGINPATH 4 +#define XDW_GI_FOLDERROOTPATH 5 +#define XDW_GI_USERFOLDERPATH 6 +#define XDW_GI_SYSTEMFOLDERPATH 7 +#define XDW_GI_RECEIVEFOLDERPATH 8 +#define XDW_GI_SENDFOLDERPATH 9 +#define XDW_GI_DWINPUTPATH 10 +#define XDW_GI_DWDESKPATH 11 +#define XDW_GI_DWVIEWERPATH 12 +#define XDW_GI_DWVLTPATH 13 +#define XDW_GI_DWDESK_FILENAME_DELIMITER 1001 +#define XDW_GI_DWDESK_FILENAME_DIGITS 1002 + + +#define XDW_PGT_NULL 0 +#define XDW_PGT_FROMIMAGE 1 +#define XDW_PGT_FROMAPPL 2 + +#define XDW_MAXPATH 255 +#define XDW_MAXINPUTIMAGEPATH 127 + +#define XDW_OPEN_READONLY 0 +#define XDW_OPEN_UPDATE 1 + +#define XDW_AUTH_NONE 0 +#define XDW_AUTH_NODIALOGUE 1 +#define XDW_AUTH_CONDITIONAL_DIALOGUE 2 + +#define XDW_PERM_DOC_EDIT 0x02 +#define XDW_PERM_ANNO_EDIT 0x04 +#define XDW_PERM_PRINT 0x08 +#define XDW_PERM_COPY 0x10 + +#define XDW_DT_DOCUMENT 0 +#define XDW_DT_BINDER 1 +#define XDW_DT_CONTAINER 2 + +#define XDW_ROT_0 0 +#define XDW_ROT_90 90 +#define XDW_ROT_180 180 +#define XDW_ROT_270 270 + +#define XDW_CREATE_FITDEF 0 +#define XDW_CREATE_FIT 1 +#define XDW_CREATE_USERDEF 2 +#define XDW_CREATE_USERDEF_FIT 3 +#define XDW_CREATE_FITDEF_DIVIDEBMP 4 + +#define XDW_COMPRESS_NORMAL 0 +#define XDW_COMPRESS_LOSSLESS 1 +#define XDW_COMPRESS_HIGHQUALITY 2 +#define XDW_COMPRESS_HIGHCOMPRESS 3 +#define XDW_COMPRESS_NOCOMPRESS 4 +#define XDW_COMPRESS_JPEG 5 +#define XDW_COMPRESS_PACKBITS 6 +#define XDW_COMPRESS_G4 7 +#define XDW_COMPRESS_MRC_NORMAL 8 +#define XDW_COMPRESS_MRC_HIGHQUALITY 9 +#define XDW_COMPRESS_MRC_HIGHCOMPRESS 10 +#define XDW_COMPRESS_MRC 11 +#define XDW_COMPRESS_JPEG_TTN2 12 + +#define XDW_CONVERT_MRC_ORIGINAL 0 +#define XDW_CONVERT_MRC_OS 1 + +#define XDW_IMAGE_DIB 0 +#define XDW_IMAGE_TIFF 1 +#define XDW_IMAGE_JPEG 2 +#define XDW_IMAGE_PDF 3 + +#define XDW_CREATE_HCENTER 0 +#define XDW_CREATE_LEFT 1 +#define XDW_CREATE_RIGHT 2 + +#define XDW_CREATE_VCENTER 0 +#define XDW_CREATE_TOP 1 +#define XDW_CREATE_BOTTOM 2 + +#define XDW_CREATE_DEFAULT_SIZE 0 +#define XDW_CREATE_A3_SIZE 1 +#define XDW_CREATE_2A0_SIZE 2 + +#define XDW_LINE_NONE 0 +#define XDW_LINE_BEGINNING 1 +#define XDW_LINE_ENDING 2 +#define XDW_LINE_BOTH 3 +#define XDW_LINE_WIDE_POLYLINE 0 +#define XDW_LINE_POLYLINE 1 +#define XDW_LINE_POLYGON 2 + +#define XDW_BORDER_TYPE_SOLID 0 +#define XDW_BORDER_TYPE_DOT 1 +#define XDW_BORDER_TYPE_DASH 2 +#define XDW_BORDER_TYPE_DASHDOT 3 +#define XDW_BORDER_TYPE_DOUBLE 4 + +#define XDW_STAMP_AUTO 0 +#define XDW_STAMP_MANUAL 1 +#define XDW_STAMP_NO_BASISYEAR 0 +#define XDW_STAMP_BASISYEAR 1 +#define XDW_STAMP_DATE_YMD 0 +#define XDW_STAMP_DATE_DMY 1 + +#define XDW_PAGEFORM_HEADER 0 +#define XDW_PAGEFORM_FOOTER 1 +#define XDW_PAGEFORM_TOPIMAGE 2 +#define XDW_PAGEFORM_BOTTOMIMAGE 3 +#define XDW_PAGEFORM_PAGENUMBER 4 + +#define XDW_PAGEFORM_STAY 0 +#define XDW_PAGEFORM_REMOVE 1 + +#define XDW_ALIGN_LEFT 0 +#define XDW_ALIGN_HCENTER 1 +#define XDW_ALIGN_RIGHT 2 +#define XDW_ALIGN_TOP 0 +#define XDW_ALIGN_BOTTOM 1 +#define XDW_ALIGN_VCENTER 2 + +#define XDW_PAGERANGE_ALL 0 +#define XDW_PAGERANGE_SPECIFIED 1 + +#define XDW_CRTP_BEGINNING 1 +#define XDW_CRTP_PRINTING 2 +#define XDW_CRTP_PAGE_CREATING 3 +#define XDW_CRTP_ORIGINAL_APPENDING 4 +#define XDW_CRTP_WRITING 5 +#define XDW_CRTP_ENDING 6 +#define XDW_CRTP_CANCELING 7 +#define XDW_CRTP_FINISHED 8 +#define XDW_CRTP_CANCELED 9 + +#define XDW_AID_FUSEN 32794 +#define XDW_AID_TEXT 32785 +#define XDW_AID_STAMP 32819 +#define XDW_AID_STRAIGHTLINE 32828 +#define XDW_AID_RECTANGLE 32829 +#define XDW_AID_ARC 32830 +#define XDW_AID_POLYGON 32834 +#define XDW_AID_MARKER 32795 +#define XDW_AID_LINK 49199 +#define XDW_AID_PAGEFORM 32814 +#define XDW_AID_OLE 32783 +#define XDW_AID_BITMAP 32831 +#define XDW_AID_RECEIVEDSTAMP 32832 +#define XDW_AID_CUSTOM 32837 +#define XDW_AID_TITLE 32838 +#define XDW_AID_GROUP 32839 + +#define XDW_ATYPE_INT 0 +#define XDW_ATYPE_STRING 1 +#define XDW_ATYPE_DATE 2 +#define XDW_ATYPE_BOOL 3 +#define XDW_ATYPE_OCTS 4 +#define XDW_ATYPE_OTHER 999 + +#define XDW_SUMMARY_INFO 1 +#define XDW_USER_DEF 2 +#define XDW_ANNOTATION 4 + +#define XDW_SIZE_FREE 0 +#define XDW_SIZE_A3_PORTRAIT 1 +#define XDW_SIZE_A3_LANDSCAPE 2 +#define XDW_SIZE_A4_PORTRAIT 3 +#define XDW_SIZE_A4_LANDSCAPE 4 +#define XDW_SIZE_A5_PORTRAIT 5 +#define XDW_SIZE_A5_LANDSCAPE 6 +#define XDW_SIZE_B4_PORTRAIT 7 +#define XDW_SIZE_B4_LANDSCAPE 8 +#define XDW_SIZE_B5_PORTRAIT 9 +#define XDW_SIZE_B5_LANDSCAPE 10 + +#define XDW_BINDER_COLOR_0 0 +#define XDW_BINDER_COLOR_1 1 +#define XDW_BINDER_COLOR_2 2 +#define XDW_BINDER_COLOR_3 3 +#define XDW_BINDER_COLOR_4 4 +#define XDW_BINDER_COLOR_5 5 +#define XDW_BINDER_COLOR_6 6 +#define XDW_BINDER_COLOR_7 7 +#define XDW_BINDER_COLOR_8 8 +#define XDW_BINDER_COLOR_9 9 +#define XDW_BINDER_COLOR_10 10 +#define XDW_BINDER_COLOR_11 11 +#define XDW_BINDER_COLOR_12 12 +#define XDW_BINDER_COLOR_13 13 +#define XDW_BINDER_COLOR_14 14 +#define XDW_BINDER_COLOR_15 15 + +#define XDW_REDUCENOISE_NONE 0 +#define XDW_REDUCENOISE_NORMAL 1 +#define XDW_REDUCENOISE_WEAK 2 +#define XDW_REDUCENOISE_STRONG 3 + +#define XDW_PRIORITY_NONE 0 +#define XDW_PRIORITY_SPEED 1 +#define XDW_PRIORITY_RECOGNITION 2 + +#define XDW_OCR_ENGINE_V4 1 // old name - should be here for compatibility +#define XDW_OCR_ENGINE_DEFAULT 1 +#define XDW_OCR_ENGINE_WRP 2 +#define XDW_OCR_ENGINE_FRE 3 +#define XDW_OCR_ENGINE_FRE_MULTI 4 + +#define XDW_OCR_LANGUAGE_AUTO -1 +#define XDW_OCR_LANGUAGE_JAPANESE 0 +#define XDW_OCR_LANGUAGE_ENGLISH 1 + +#define XDW_OCR_MULTIPLELANGUAGES_ENGLISH 0x02 +#define XDW_OCR_MULTIPLELANGUAGES_FRENCH 0x04 +#define XDW_OCR_MULTIPLELANGUAGES_SIMPLIFIED_CHINESE 0x08 +#define XDW_OCR_MULTIPLELANGUAGES_TRADITIONAL_CHINESE 0x10 +#define XDW_OCR_MULTIPLELANGUAGES_THAI 0x20 +#define XDW_OCR_MULTIPLELANGUAGES_JAPANESE 0x40 +#define XDW_OCR_MULTIPLELANGUAGES_KOREAN 0x80 + +#define XDW_OCR_FORM_AUTO 0 +#define XDW_OCR_FORM_TABLE 1 +#define XDW_OCR_FORM_WRITING 2 + +#define XDW_OCR_COLUMN_AUTO 0 +#define XDW_OCR_COLUMN_HORIZONTAL_SINGLE 1 +#define XDW_OCR_COLUMN_HORIZONTAL_MULTI 2 +#define XDW_OCR_COLUMN_VERTICAL_SINGLE 3 +#define XDW_OCR_COLUMN_VERTICAL_MULTI 4 + +#define XDW_OCR_DOCTYPE_AUTO 0 +#define XDW_OCR_DOCTYPE_HORIZONTAL_SINGLE 1 +#define XDW_OCR_DOCTYPE_PLAINTEXT 2 + +#define XDW_OCR_ENGINE_LEVEL_SPEED 1 +#define XDW_OCR_ENGINE_LEVEL_STANDARD 2 +#define XDW_OCR_ENGINE_LEVEL_ACCURACY 3 + +#define XDW_OCR_MIXEDRATE_JAPANESE 1 +#define XDW_OCR_MIXEDRATE_BALANCED 2 +#define XDW_OCR_MIXEDRATE_ENGLISH 3 + +#define XDW_PROTECT_PSWD 1 +#define XDW_PROTECT_PSWD128 3 +#define XDW_PROTECT_PKI 4 +#define XDW_PROTECT_STAMP 5 +#define XDW_PROTECT_CONTEXT_SERVICE 6 +#define XDW_PROTECT_PSWD256 7 +#define XDW_PROTECT_PKI256 8 + +#define XDW_GPTI_TYPE_EMF 0 +#define XDW_GPTI_TYPE_OCRTEXT 1 + +#define XDW_IMAGE_MONO 0 +#define XDW_IMAGE_COLOR 1 +#define XDW_IMAGE_MONO_HIGHQUALITY 2 + +#define XDW_SIGNATURE_STAMP 100 +#define XDW_SIGNATURE_PKI 102 +#define XDW_SIGNATURE_PKI_SHA256 105 + +#define XDW_SIGNATURE_STAMP_DOC_NONE 0 +#define XDW_SIGNATURE_STAMP_DOC_NOEDIT 1 +#define XDW_SIGNATURE_STAMP_DOC_EDIT 2 +#define XDW_SIGNATURE_STAMP_DOC_BAD 3 + +#define XDW_SIGNATURE_STAMP_STAMP_NONE 0 +#define XDW_SIGNATURE_STAMP_STAMP_TRUSTED 1 +#define XDW_SIGNATURE_STAMP_STAMP_NOTRUST 2 + +#define XDW_SIGNATURE_STAMP_ERROR_OK 0 +#define XDW_SIGNATURE_STAMP_ERROR_NO_OPENING_CASE 1 +#define XDW_SIGNATURE_STAMP_ERROR_NO_SELFSTAMP 2 +#define XDW_SIGNATURE_STAMP_ERROR_OUT_OF_VALIDITY 3 +#define XDW_SIGNATURE_STAMP_ERROR_INVALID_DATA 4 +#define XDW_SIGNATURE_STAMP_ERROR_OUT_OF_MEMORY 100 +#define XDW_SIGNATURE_STAMP_ERROR_UNKNOWN 9999 + +#define XDW_SIGNATURE_PKI_DOC_UNKNOWN 0 +#define XDW_SIGNATURE_PKI_DOC_GOOD 1 +#define XDW_SIGNATURE_PKI_DOC_MODIFIED 2 +#define XDW_SIGNATURE_PKI_DOC_BAD 3 +#define XDW_SIGNATURE_PKI_DOC_GOOD_TRUSTED 4 +#define XDW_SIGNATURE_PKI_DOC_MODIFIED_TRUSTED 5 + +#define XDW_SIGNATURE_PKI_TYPE_LOW 0 +#define XDW_SIGNATURE_PKI_TYPE_MID_LOCAL 1 +#define XDW_SIGNATURE_PKI_TYPE_MID_NETWORK 2 +#define XDW_SIGNATURE_PKI_TYPE_HIGH_LOCAL 3 +#define XDW_SIGNATURE_PKI_TYPE_HIGH_NETWORK 4 + +#define XDW_SIGNATURE_PKI_CERT_UNKNOWN 0 +#define XDW_SIGNATURE_PKI_CERT_OK 1 +#define XDW_SIGNATURE_PKI_CERT_NO_ROOT_CERTIFICATE 2 +#define XDW_SIGNATURE_PKI_CERT_NO_REVOCATION_CHECK 3 +#define XDW_SIGNATURE_PKI_CERT_OUT_OF_VALIDITY 4 +#define XDW_SIGNATURE_PKI_CERT_OUT_OF_VALIDITY_AT_SIGNED_TIME 5 +#define XDW_SIGNATURE_PKI_CERT_REVOKE_CERTIFICATE 6 +#define XDW_SIGNATURE_PKI_CERT_REVOKE_INTERMEDIATE_CERTIFICATE 7 +#define XDW_SIGNATURE_PKI_CERT_INVALID_SIGNATURE 8 +#define XDW_SIGNATURE_PKI_CERT_INVALID_USAGE 9 +#define XDW_SIGNATURE_PKI_CERT_UNDEFINED_ERROR 10 + +#define XDW_SIGNATURE_PKI_ERROR_UNKNOWN 0 +#define XDW_SIGNATURE_PKI_ERROR_OK 1 +#define XDW_SIGNATURE_PKI_ERROR_BAD_PLATFORM 2 +#define XDW_SIGNATURE_PKI_ERROR_WRITE_REG_ERROR 3 +#define XDW_SIGNATURE_PKI_ERROR_BAD_TRUST_LEVEL 4 +#define XDW_SIGNATURE_PKI_ERROR_BAD_REVOKE_CHECK_TYPE 5 +#define XDW_SIGNATURE_PKI_ERROR_BAD_AUTO_IMPORT_CERT_FLAG 6 +#define XDW_SIGNATURE_PKI_ERROR_BAD_SIGN_CONFIG 7 +#define XDW_SIGNATURE_PKI_ERROR_NO_IMAGE_FILE 8 +#define XDW_SIGNATURE_PKI_ERROR_BAD_SIGN_CERT 9 +#define XDW_SIGNATURE_PKI_ERROR_NO_SIGN_CERT 10 +#define XDW_SIGNATURE_PKI_ERROR_NOT_USE_PRIVATE_KEY 11 +#define XDW_SIGNATURE_PKI_ERROR_INVALID 12 +#define XDW_SIGNATURE_PKI_ERROR_BAD_SIGN 13 +#define XDW_SIGNATURE_PKI_ERROR_REVOKE_CHECK_ERROR 14 +#define XDW_SIGNATURE_PKI_ERROR_OUT_OF_VALIDITY 15 +#define XDW_SIGNATURE_PKI_ERROR_NO_CERT 16 +#define XDW_SIGNATURE_PKI_ERROR_FAILURE_IMPOPT_CERT 17 +#define XDW_SIGNATURE_PKI_ERROR_NO_ROOT_CERT 18 +#define XDW_SIGNATURE_PKI_ERROR_BAD_CERT_SIZE 19 +#define XDW_SIGNATURE_PKI_ERROR_BAD_ARG 20 +#define XDW_SIGNATURE_PKI_ERROR_BAD_CERT_FORMAT 21 + +#define XDW_SECURITY_PKI_ERROR_UNKNOWN 0 +#define XDW_SECURITY_PKI_ERROR_OK 1 +#define XDW_SECURITY_PKI_ERROR_BAD_PLATFORM 2 +#define XDW_SECURITY_PKI_ERROR_WRITE_REG_ERROR 3 +#define XDW_SECURITY_PKI_ERROR_BAD_TRUST_LEVEL 4 +#define XDW_SECURITY_PKI_ERROR_BAD_REVOKE_CHECK_TYPE 5 +#define XDW_SECURITY_PKI_ERROR_REVOKED 6 +#define XDW_SECURITY_PKI_ERROR_BAD_SIGN 7 +#define XDW_SECURITY_PKI_ERROR_REVOKE_CHECK_ERROR 8 +#define XDW_SECURITY_PKI_ERROR_OUT_OF_VALIDITY 9 +#define XDW_SECURITY_PKI_ERROR_NO_CERT 10 +#define XDW_SECURITY_PKI_ERROR_FAILURE_IMPORT_CERT 11 +#define XDW_SECURITY_PKI_ERROR_NO_ROOT_CERT 12 +#define XDW_SECURITY_PKI_ERROR_BAD_CERT_FORMAT 13 +#define XDW_SECURITY_PKI_ERROR_BAD_CERT_USAGE 14 +#define XDW_SECURITY_PKI_ERROR_CA_CERT_IS_REVOKED 15 +#define XDW_SECURITY_PKI_ERROR_TOO_MANY_CERT 16 + +#define XDW_IGNORE_CASE 0x02 +#define XDW_IGNORE_WIDTH 0x04 +#define XDW_IGNORE_HIRAKATA 0x08 + +#define XDW_STARCH 1 +#define XDW_STARCH_OFF 0 + +#define XDW_TEXT_UNKNOWN 0 +#define XDW_TEXT_MULTIBYTE 1 +#define XDW_TEXT_UNICODE 2 +#define XDW_TEXT_UNICODE_IFNECESSARY 3 + +#define XDW_HGLOBAL void* + +typedef struct { int dummy; } *XDW_DOCUMENT_HANDLE; +typedef struct { int dummy; } *XDW_CREATE_HANDLE; +typedef struct { int dummy; } *XDW_ANNOTATION_HANDLE; +typedef struct { int dummy; } *XDW_FOUND_HANDLE; + +typedef unsigned short XDW_WCHAR; + +typedef struct tag_XDW_RECT { + long left; + long top; + long right; + long bottom; +} XDW_RECT; + +typedef struct tag_XDW_GPTI_OCRTEXT_UNIT { + const char* lpszText; + XDW_RECT rect; +} XDW_GPTI_OCRTEXT_UNIT; + +typedef struct tag_XDW_GPTI_OCRTEXT { + int nUnitNum; + XDW_GPTI_OCRTEXT_UNIT* pUnits; +} XDW_GPTI_OCRTEXT; + +typedef struct tag_XDW_GPTI_INFO { + int nSize; + int nInfoType; + int nPageWidth; + int nPageHeight; + int nRotateDegree; + int nDataSize; + XDW_HGLOBAL pData; +} XDW_GPTI_INFO; + +typedef struct tag_XDW_DOCUMENT_INFO { + int nSize; + int nPages; + int nVersion; + int nOriginalData; + int nDocType; + int nPermission; + int nShowAnnotations; + int nDocuments; + int nBinderColor; + int nBinderSize; +} XDW_DOCUMENT_INFO; + +typedef struct tag_XDW_PAGE_INFO { + int nSize; + int nWidth; + int nHeight; + int nPageType; + int nHorRes; + int nVerRes; + int nCompressType; + int nAnnotations; +} XDW_PAGE_INFO; + +typedef struct tag_XDW_PAGE_INFO_EX { + int nSize; + int nWidth; + int nHeight; + int nPageType; + int nHorRes; + int nVerRes; + int nCompressType; + int nAnnotations; + int nDegree; + int nOrgWidth; + int nOrgHeight; + int nOrgHorRes; + int nOrgVerRes; + int nImageWidth; + int nImageHeight; +} XDW_PAGE_INFO_EX; + +typedef struct tag_XDW_IMAGE_OPTION { + int nSize; + int nDpi; + int nColor; +} XDW_IMAGE_OPTION; + +typedef struct tag_XDW_OPEN_MODE { + int nSize; + int nOption; +} XDW_OPEN_MODE; + +typedef struct tag_XDW_OPEN_MODE_EX { + int nSize; + int nOption; + int nAuthMode; +} XDW_OPEN_MODE_EX; + +typedef struct tag_XDW_CREATE_OPTION { + int nSize; + int nFitImage; + int nCompress; + int nZoom; + int nWidth; + int nHeight; + int nHorPos; + int nVerPos; +} XDW_CREATE_OPTION; + +typedef struct tag_XDW_CREATE_OPTION_EX { + int nSize; + int nFitImage; + int nCompress; + int nZoom; + int nWidth; + int nHeight; + int nHorPos; + int nVerPos; + int nZoomDetail; +} XDW_CREATE_OPTION_EX; + +typedef struct tag_XDW_CREATE_OPTION_EX2 { + int nSize; + int nFitImage; + int nCompress; + int nZoom; + int nWidth; + int nHeight; + int nHorPos; + int nVerPos; + int nZoomDetail; + int nMaxPaperSize; +} XDW_CREATE_OPTION_EX2; + + +#define XDW_SIZEOF_ORGDATANAME 256 +typedef struct tag_XDW_ORGDATA_INFO { + int nSize; + int nDataSize; + long nDate; + char szName[XDW_SIZEOF_ORGDATANAME]; +} XDW_ORGDATA_INFO; + +typedef struct tag_XDW_ORGDATA_INFOW { + int nSize; + int nDataSize; + long nDate; + XDW_WCHAR szName[XDW_SIZEOF_ORGDATANAME]; +} XDW_ORGDATA_INFOW; + +#define XDW_SIZEOF_LINKROOTFOLDER 256 +typedef struct tag_XDW_LINKROOTFOLDER_INFO { + int nSize; + char szPath[XDW_SIZEOF_LINKROOTFOLDER]; + char szLinkRootFolderName[XDW_SIZEOF_LINKROOTFOLDER]; +} XDW_LINKROOTFOLDER_INFO ; + +typedef struct tag_XDW_LINKROOTFOLDER_INFOW { + int nSize; + XDW_WCHAR wszPath[XDW_SIZEOF_LINKROOTFOLDER]; + XDW_WCHAR wszLinkRootFolderName[XDW_SIZEOF_LINKROOTFOLDER]; +} XDW_LINKROOTFOLDER_INFOW ; + +typedef struct tag_XDW_CREATE_STATUS { + int nSize; + int phase; + int nTotalPage; + int nPage; +} XDW_CREATE_STATUS; + +typedef struct tag_XDW_ANNOTATION_INFO { + int nSize; + XDW_ANNOTATION_HANDLE handle; + int nHorPos; + int nVerPos; + int nWidth; + int nHeight; + int nAnnotationType; + int nChildAnnotations; +} XDW_ANNOTATION_INFO; + + +typedef struct tag_XDW_AA_INITIAL_DATA { + int nSize; + int nAnnotationType; + int nReserved1; + int nReserved2; +} XDW_AA_INITIAL_DATA; + +typedef struct tag_XDW_AA_FUSEN_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nWidth; + int nHeight; +} XDW_AA_FUSEN_INITIAL_DATA; + +typedef struct tag_XDW_AA_STRAIGHTLINE_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nHorVec; + int nVerVec; +} XDW_AA_STRAIGHTLINE_INITIAL_DATA; + +typedef struct tag_XDW_AA_RECT_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nWidth; + int nHeight; +} XDW_AA_RECT_INITIAL_DATA; + +typedef struct tag_XDW_AA_ARC_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nWidth; + int nHeight; +} XDW_AA_ARC_INITIAL_DATA; + +typedef struct tag_XDW_AA_BITMAP_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + char szImagePath[256]; +} XDW_AA_BITMAP_INITIAL_DATA; + +typedef struct tag_XDW_AA_BITMAP_INITIAL_DATAW { + XDW_AA_INITIAL_DATA common; + XDW_WCHAR wszImagePath[256]; +} XDW_AA_BITMAP_INITIAL_DATAW; + +typedef struct tag_XDW_AA_STAMP_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nWidth; +} XDW_AA_STAMP_INITIAL_DATA; + +typedef struct tag_XDW_AA_RECEIVEDSTAMP_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nWidth; +} XDW_AA_RECEIVEDSTAMP_INITIAL_DATA; + +#define XDW_SIZEOF_GUID 36 +typedef struct tag_XDW_AA_CUSTOM_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nWidth; + int nHeight; + char* lpszGuid; + int nCustomDataSize; + unsigned char* pCustomData; +} XDW_AA_CUSTOM_INITIAL_DATA; + +typedef struct tag_XDW_IMAGE_OPTION_EX { + int nSize; + int nDpi; + int nColor; + int nImageType; + void* pDetailOption; +} XDW_IMAGE_OPTION_EX; + +typedef struct tag_XDW_IMAGE_OPTION_TIFF { + int nSize; + int nCompress; + int nEndOfMultiPages; +} XDW_IMAGE_OPTION_TIFF; + +typedef struct tag_XDW_IMAGE_OPTION_JPEG { + int nSize; + int nCompress; +} XDW_IMAGE_OPTION_JPEG; + +typedef struct tag_XDW_IMAGE_OPTION_PDF { + int nSize; + int nCompress; + int nConvertMethod; + int nEndOfMultiPages; +} XDW_IMAGE_OPTION_PDF; + +typedef struct tag_XDW_BINDER_INITIAL_DATA { + int nSize; + int nBinderColor; + int nBinderSize; +} XDW_BINDER_INITIAL_DATA; + +typedef struct tag_XDW_OCR_OPTION_V4 { + int nSize; + int nNoiseReduction; + int nLanguage; + int nInsertSpaceCharacter; + int nJapaneseKnowledgeProcessing; + int nForm; + int nColumn; + int nDisplayProcess; + int nAutoDeskew; +} XDW_OCR_OPTION_V4; + +typedef struct tag_XDW_OCR_OPTION_V5 { + int nSize; + int nNoiseReduction; + int nLanguage; + int nInsertSpaceCharacter; + int nJapaneseKnowledgeProcessing; + int nForm; + int nColumn; + int nDisplayProcess; + int nAutoDeskew; + unsigned int nAreaNum; + XDW_RECT** pAreaRects; +} XDW_OCR_OPTION_V5; + +typedef struct tag_XDW_OCR_OPTION_V5_EX { + int nSize; + int nNoiseReduction; + int nLanguage; + int nInsertSpaceCharacter; + int nJapaneseKnowledgeProcessing; + int nForm; + int nColumn; + int nDisplayProcess; + int nAutoDeskew; + unsigned int nAreaNum; + XDW_RECT** pAreaRects; + int nPriority; +} XDW_OCR_OPTION_V5_EX; + +typedef struct tag_XDW_OCR_OPTION_WRP { + int nSize; + int nNoiseReduction; + int nLanguage; + int nInsertSpaceCharacter; + int nForm; + int nColumn; + int nAutoDeskew; + int nPriority; +} XDW_OCR_OPTION_WRP; + +typedef struct tag_XDW_OCR_OPTION_FRE { + int nSize; + int nNoiseReduction; + int nLanguage; + int nDocumentType; + int nDisplayProcess; + int nAutoDeskew; + unsigned int nAreaNum; + XDW_RECT** pAreaRects; + int nPriority; +} XDW_OCR_OPTION_FRE; + +typedef struct tag_XDW_OCR_OPTION_V7 { + int nSize; + int nNoiseReduction; + int nLanguage; + int nInsertSpaceCharacter; + int nJapaneseKnowledgeProcessing; + int nForm; + int nColumn; + int nDisplayProcess; + int nAutoDeskew; + unsigned int nAreaNum; + XDW_RECT** pAreaRects; + int nPriority; + int nEngineLevel; + int nLanguageMixedRate; + int nHalfSizeChar; +} XDW_OCR_OPTION_V7; + +typedef struct tag_XDW_OCR_OPTION_FRE_V7 { + int nSize; + int nNoiseReduction; + int nLanguage; + int nDocumentType; + int nDisplayProcess; + int nAutoDeskew; + unsigned int nAreaNum; + XDW_RECT** pAreaRects; + int nPriority; + int nEngineLevel; +} XDW_OCR_OPTION_FRE_V7; + +typedef struct tag_XDW_PAGE_COLOR_INFO { + int nSize; + int nColor; + int nImageDepth; +} XDW_PAGE_COLOR_INFO; + +#define XDW_SIZEOF_PSWD 256 +typedef struct tag_XDW_SECURITY_OPTION_PSWD { + int nSize; + int nPermission; + char szOpenPswd[XDW_SIZEOF_PSWD]; + char szFullAccessPswd[XDW_SIZEOF_PSWD]; + char* lpszComment; +} XDW_SECURITY_OPTION_PSWD; + +typedef struct tag_XDW_DER_CERTIFICATE { + void *pCert; + int nCertSize; +} XDW_DER_CERTIFICATE; + +typedef struct tag_XDW_SECURITY_OPTION_PKI { + int nSize; + int nPermission; + XDW_DER_CERTIFICATE* lpxdcCerts; + int nCertsNum; + int nFullAccessCertsNum; + int nErrorStatus; + int nFirstErrorCert; +} XDW_SECURITY_OPTION_PKI; + +typedef struct tag_XDW_PROTECT_OPTION { + int nSize; + int nAuthMode; +} XDW_PROTECT_OPTION; + +typedef struct tag_XDW_RELEASE_PROTECTION_OPTION { + int nSize; + int nAuthMode; +} XDW_RELEASE_PROTECTION_OPTION; + +typedef struct tag_XDW_PROTECTION_INFO { + int nSize; + int nProtectType; + int nPermission; +} XDW_PROTECTION_INFO; + +typedef struct tag_XDW_SIGNATURE_OPTION_V5 { + int nSize; + int nPage; + int nHorPos; + int nVerPos; + int nSignatureType; +} XDW_SIGNATURE_OPTION_V5; + +typedef struct tag_XDW_SIGNATURE_INFO_V5 { + int nSize; + int nSignatureType; + int nPage; + int nHorPos; + int nVerPos; + int nWidth; + int nHeight; + long nSignedTime; +} XDW_SIGNATURE_INFO_V5; + +typedef struct tag_XDW_SIGNATURE_MODULE_STATUS { + int nSize; + int nSignatureType; + int nErrorStatus; +} XDW_SIGNATURE_MODULE_STATUS; + +typedef struct tag_XDW_SIGNATURE_MODULE_OPTION_PKI { + int nSize; + void *pSignerCert; + int nSignerCertSize; +} XDW_SIGNATURE_MODULE_OPTION_PKI; + +#define XDW_SIZEOF_STAMPNAME 256 +#define XDW_SIZEOF_STAMPOWNERNAME 64 +#define XDW_SIZEOF_STAMPREMARKS 1024 +typedef struct tag_XDW_SIGNATURE_STAMP_INFO_V5 { + int nSize; + char lpszStampName[XDW_SIZEOF_STAMPNAME]; + char lpszOwnerName[XDW_SIZEOF_STAMPOWNERNAME]; + long nValidDate; + char lpszRemarks[XDW_SIZEOF_STAMPREMARKS]; + int nDocVerificationStatus; + int nStampVerificationStatus; +} XDW_SIGNATURE_STAMP_INFO_V5; + +#define XDW_SIZEOF_PKIMODULENAME 16 +#define XDW_SIZEOF_PKISUBJECTDN 512 +#define XDW_SIZEOF_PKISUBJECT 256 +#define XDW_SIZEOF_PKIISSUERDN 512 +#define XDW_SIZEOF_PKIISSUER 256 +#define XDW_SIZEOF_PKINOTBEFORE 32 +#define XDW_SIZEOF_PKINOTAFTER 32 +#define XDW_SIZEOF_PKISERIAL 64 +#define XDW_SIZEOF_PKIREMARKS 64 +#define XDW_SIZEOF_PKISIGNEDTIME 32 + +typedef struct tag_XDW_SIGNATURE_PKI_INFO_V5 { + int nSize; + char lpszModule[XDW_SIZEOF_PKIMODULENAME]; + char lpszSubjectDN[XDW_SIZEOF_PKISUBJECTDN]; + char lpszSubject[XDW_SIZEOF_PKISUBJECT]; + char lpszIssuerDN[XDW_SIZEOF_PKIISSUERDN]; + char lpszIssuer[XDW_SIZEOF_PKIISSUER]; + char lpszNotBefore[XDW_SIZEOF_PKINOTBEFORE]; + char lpszNotAfter[XDW_SIZEOF_PKINOTAFTER]; + char lpszSerial[XDW_SIZEOF_PKISERIAL]; + void* pSignerCert; + int nSignerCertSize; + char lpszRemarks[XDW_SIZEOF_PKIREMARKS]; + char lpszSigningTime[XDW_SIZEOF_PKISIGNEDTIME]; + int nDocVerificationStatus; + int nCertVerificationType; + int nCertVerificationStatus; +} XDW_SIGNATURE_PKI_INFO_V5; + +typedef struct tag_XDW_OCR_TEXTINFO { + int nSize; + int nWidth; + int nHeight; + long charset; + char* lpszText; + int nLineRect; + XDW_RECT* pLineRect; +} XDW_OCR_TEXTINFO; + +typedef struct tag_XDW_OCRIMAGE_OPTION { + int nSize; + int nDpi; + int nNoiseReduction; + int nPriority; +} XDW_OCRIMAGE_OPTION; + +typedef struct tag_XDW_FIND_TEXT_OPTION { + int nSize; + int nIgnoreMode; + int nReserved; + int nReserved2; +} XDW_FIND_TEXT_OPTION; + +#define XDW_FOUND_RECT_STATUS_HIT (0) +#define XDW_FOUND_RECT_STATUS_PAGE (1) + +typedef struct tag_XDW_POINT { + int x; + int y; +} XDW_POINT; + + +typedef struct tag_XDW_AA_MARKER_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nCounts; + XDW_POINT* pPoints; +} XDW_AA_MARKER_INITIAL_DATA; + +typedef struct tag_XDW_AA_POLYGON_INITIAL_DATA { + XDW_AA_INITIAL_DATA common; + int nCounts; + XDW_POINT* pPoints; +} XDW_AA_POLYGON_INITIAL_DATA; + +typedef struct XDW_BEGIN_CREATE_OPTION { + int nSize; + BOOL bNoUseSpecifiedApp; +} XDW_BEGIN_CREATE_OPTION; + +#ifdef _WIN64 +#ifndef XDW_DISABLE_PRAGMA_PACK +#pragma pack(pop, xdwapi_enter_parser) +#endif /* XDW_DISABLE_PRAGMA_PACK */ +#endif /* _WIN64 */ + +#endif //XDWAPI_DECLARATIONS + + +int XDWAPI XDW_GetInformation(int nIndex, char* lpszOutput, int nSize, void* reserved); +int XDWAPI XDW_GetInformationW(int nIndex, XDW_WCHAR* lpwszOutput, int nSize, void* reserved); +int XDWAPI XDW_AddSystemFolder(int nIndex, void* reserved ); + +int XDWAPI XDW_MergeXdwFiles(const char** lpszInputPaths, int nFiles, const char* lpszOutputPath, void* reserved ); +int XDWAPI XDW_MergeXdwFilesW(const XDW_WCHAR** lpwszInputPaths, int nFiles, const XDW_WCHAR* lpwszOutputPath, void* reserved ); +int XDWAPI XDW_OpenDocumentHandle(const char* lpszFilePath, XDW_DOCUMENT_HANDLE* pHandle, XDW_OPEN_MODE* pOpenMode); +int XDWAPI XDW_OpenDocumentHandleW(const XDW_WCHAR* lpwszFilePath, XDW_DOCUMENT_HANDLE* pHandle, XDW_OPEN_MODE* pOpenMode); +int XDWAPI XDW_CloseDocumentHandle(XDW_DOCUMENT_HANDLE handle, void* reserved ); +int XDWAPI XDW_GetDocumentInformation(XDW_DOCUMENT_HANDLE handle, XDW_DOCUMENT_INFO* pDocumentInfo); +int XDWAPI XDW_GetPageInformation(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_PAGE_INFO* pPageInfo); +int XDWAPI XDW_GetPageImage(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_GetPageImageW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_GetPageText(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszOutputPath, void* reserved ); +int XDWAPI XDW_ConvertPageToImageFile(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszOutputPath, XDW_IMAGE_OPTION* pImageOption); +int XDWAPI XDW_ConvertPageToImageFileW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszOutputPath, XDW_IMAGE_OPTION* pImageOption); +int XDWAPI XDW_GetPage(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_GetPageW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_DeletePage(XDW_DOCUMENT_HANDLE handle, int nPage, void* reserved); +int XDWAPI XDW_RotatePage(XDW_DOCUMENT_HANDLE handle, int nPage, int nDegree, void* reserved); +int XDWAPI XDW_SaveDocument(XDW_DOCUMENT_HANDLE handle, void* reserved); +int XDWAPI XDW_CreateXdwFromImageFile(const char* lpszInputPath, const char* lpszOutputPath, XDW_CREATE_OPTION* pOption); +int XDWAPI XDW_CreateXdwFromImageFileW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, XDW_CREATE_OPTION* pOption); + +int XDWAPI XDW_GetOriginalDataInformation(XDW_DOCUMENT_HANDLE handle, int nOriginalData, XDW_ORGDATA_INFO* pOriginalDataInfo, void* reserved); +int XDWAPI XDW_GetOriginalData(XDW_DOCUMENT_HANDLE handle, int nOriginalData, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_GetOriginalDataW(XDW_DOCUMENT_HANDLE handle, int nOriginalData, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_InsertOriginalData(XDW_DOCUMENT_HANDLE handle, int nOriginalData, const char* lpszInputPath, void* reserved); +int XDWAPI XDW_DeleteOriginalData(XDW_DOCUMENT_HANDLE handle, int nOriginalData, void* reserved); + +int XDWAPI XDW_BeginCreationFromAppFile(const char* lpszInputPath, const char* lpszOutputPath, BOOL bWithOriginal, XDW_CREATE_HANDLE* handle, void* pCreateOption); +int XDWAPI XDW_BeginCreationFromAppFileW(const XDW_WCHAR* lpszInputPath, const XDW_WCHAR* lpszOutputPath, BOOL bWithOriginal, XDW_CREATE_HANDLE* handle, void* pCreateOption); +int XDWAPI XDW_EndCreationFromAppFile(XDW_CREATE_HANDLE handle, void* reserved); +int XDWAPI XDW_GetStatusCreationFromAppFile(XDW_CREATE_HANDLE handle, XDW_CREATE_STATUS* pStatus); +int XDWAPI XDW_CancelCreationFromAppFile(XDW_CREATE_HANDLE handle, void* reserved); + +int XDWAPI XDW_GetUserAttribute(XDW_DOCUMENT_HANDLE handle, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void *reserved); +int XDWAPI XDW_SetUserAttribute(XDW_DOCUMENT_HANDLE handle, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void *reserved); + +int XDWAPI XDW_GetAnnotationInformation(XDW_DOCUMENT_HANDLE hDocument, int nPage, XDW_ANNOTATION_HANDLE hAnnotation,int nIndex, XDW_ANNOTATION_INFO* pAnnotationInfo, void* reserved); +int XDWAPI XDW_GetAnnotationAttribute(XDW_ANNOTATION_HANDLE handle, const char* lpszAttributeName, char* pAttribute, int nDataSize, void* reserved); + +int XDWAPI XDW_AddAnnotation(XDW_DOCUMENT_HANDLE handle, int hAnnotationType, int nPage, int nHorPos, int nVerPos, XDW_AA_INITIAL_DATA *pInitialData, XDW_ANNOTATION_HANDLE* phNewAnnotation, void* reserved); +int XDWAPI XDW_RemoveAnnotation(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hRemoveAnnotation, void* reserved); +int XDWAPI XDW_SetAnnotationAttribute(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, const char* lpszAttributeName, int nAttributeType, char* pAttributeValue, int nReserved, void* pReserved); +int XDWAPI XDW_SetAnnotationSize(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, int nWidth, int nHeight, void* reserved); +int XDWAPI XDW_SetAnnotationPosition(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, int nHorPos, int nVerPos, void* reserved); +int XDWAPI XDW_CreateSfxDocument(const char* lpszInputPath, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_CreateSfxDocumentW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_ExtractFromSfxDocument(const char* lpszInputPath, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_ExtractFromSfxDocumentW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, void* reserved); + +int XDWAPI XDW_ConvertPageToImageHandle(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_HGLOBAL* phDIB, XDW_IMAGE_OPTION* pImageOption); +int XDWAPI XDW_GetThumbnailImageHandle(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_HGLOBAL* phDIB, void* reserved); + +int XDWAPI XDW_GetPageTextToMemory(XDW_DOCUMENT_HANDLE handle, int nPage, char* lpszValue, int nDataSize, void* reserved); +int XDWAPI XDW_GetFullText(XDW_DOCUMENT_HANDLE handle, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_GetPageUserAttribute(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void *reserved); +int XDWAPI XDW_SetPageUserAttribute(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void *reserved); + +int XDWAPI XDW_ReducePageNoise(XDW_DOCUMENT_HANDLE handle, int nPage, int nLevel, void* reserved); +int XDWAPI XDW_ShowOrHideAnnotations(XDW_DOCUMENT_HANDLE handle, int nShowAnnotations, void* reserved); +int XDWAPI XDW_GetCompressedPageImage(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_GetCompressedPageImageW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_InsertDocument(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszInputPath, void* reserved); +int XDWAPI XDW_InsertDocumentW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszInputPath, void* reserved); +int XDWAPI XDW_ApplyOcr(XDW_DOCUMENT_HANDLE handle, int nPage, int nOcrEngine, void* pOption, void* reserved); +int XDWAPI XDW_RotatePageAuto(XDW_DOCUMENT_HANDLE handle, int nPage, void* reserved); +int XDWAPI XDW_CreateBinder(const char* lpszOutputPath, XDW_BINDER_INITIAL_DATA* pInitialData, void* reserved); +int XDWAPI XDW_CreateBinderW(const XDW_WCHAR* lpwszOutputPath, XDW_BINDER_INITIAL_DATA* pInitialData, void* reserved); +int XDWAPI XDW_InsertDocumentToBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, const char* lpszInputPath, void* reserved); + +int XDWAPI XDW_GetDocumentFromBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_GetDocumentFromBinderW(XDW_DOCUMENT_HANDLE handle, int nPosition, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_DeleteDocumentInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, void* reserved); +int XDWAPI XDW_GetDocumentNameInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, char* lpszDocName, int nDocNameSize, void* reserved); +int XDWAPI XDW_SetDocumentNameInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, char* lpszDocName, void* reserved); +int XDWAPI XDW_GetDocumentInformationInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, XDW_DOCUMENT_INFO* pDocumentInfo, void* reserved); +int XDWAPI XDW_Finalize(void* reserved); +int XDWAPI XDW_GetPageColorInformation(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_PAGE_COLOR_INFO* pColorInfo, void* reserved); +int XDWAPI XDW_OptimizeDocument(const char* lpszInputPath, const char* lpszOutputPath, void* reserved); +int XDWAPI XDW_OptimizeDocumentW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, void* reserved); +int XDWAPI XDW_ProtectDocument(const char* lpszInputPath, const char* lpszOutputPath, int nProtectType, void* pModuleOption, void* pProtectOption); +int XDWAPI XDW_ProtectDocumentW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, int nProtectType, void* pModuleOption, void* pProtectOption); + +int XDWAPI XDW_CreateXdwFromImageFileAndInsertDocument(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszInputPath, XDW_CREATE_OPTION* pOption, void* reserved); +int XDWAPI XDW_CreateXdwFromImageFileAndInsertDocumentW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszInputPath, XDW_CREATE_OPTION* pOption, void* reserved); +int XDWAPI XDW_GetDocumentAttributeNumber(XDW_DOCUMENT_HANDLE handle, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByName(XDW_DOCUMENT_HANDLE handle, const char* lpszAttributeName, int* nAttributeType, char* pAttributeValue, int nDataSize, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByOrder(XDW_DOCUMENT_HANDLE handle, int nOrder, char* lpszAttributeName, int* nAttributeType, char* pAttributeValue, int nDataSize, void* reserved); +int XDWAPI XDW_SetDocumentAttribute(XDW_DOCUMENT_HANDLE handle, const char* lpszAttributeName, int nAttributeType, char* pAttributeValue, void* reserved); +int XDWAPI XDW_SucceedAttribute(XDW_DOCUMENT_HANDLE handle, const char* lpszFilePath, int nDocument, int nSuccession, void* reserved); +int XDWAPI XDW_SucceedAttributeW(XDW_DOCUMENT_HANDLE handle, const XDW_WCHAR* lpwszFilePath, int nDocument, int nSuccession, void* reserved); +int XDWAPI XDW_GetPageFormAttribute(XDW_DOCUMENT_HANDLE handle, int nPageForm, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void* reserved); +int XDWAPI XDW_SetPageFormAttribute(XDW_DOCUMENT_HANDLE handle, int nPageForm, const char* lpszAttributeName, int nAttributeType, char* pAttributeValue, int nReserved, void* pReserved); +int XDWAPI XDW_UpdatePageForm(XDW_DOCUMENT_HANDLE handle, int nOtherPageForm, void* reserved); +int XDWAPI XDW_RemovePageForm(XDW_DOCUMENT_HANDLE handle, int nOtherPageForm, void* reserved); +int XDWAPI XDW_GetLinkRootFolderInformation(int nOrder, XDW_LINKROOTFOLDER_INFO* pLinkRootFolderInfo, void* reserved); +int XDWAPI XDW_GetLinkRootFolderInformationW(int nOrder, XDW_LINKROOTFOLDER_INFOW* pLinkRootFolderInfo, void* reserved); +int XDWAPI XDW_GetLinkRootFolderNumber(void* reserved); +int XDWAPI XDW_GetLinkRootFolderNumberW(void* reserved); +int XDWAPI XDW_GetPageTextInformation(XDW_DOCUMENT_HANDLE handle, int nPage, void* pInfo, void* reserved); +int XDWAPI XDW_GetDocumentSignatureNumber(XDW_DOCUMENT_HANDLE handle, void* reserved); +int XDWAPI XDW_AddAnnotationOnParentAnnotation(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, int hAnnotationType, int nHorPos, int nVerPos, XDW_AA_INITIAL_DATA *pInitialData, XDW_ANNOTATION_HANDLE* phNewAnnotation, void* reserved); +int XDWAPI XDW_SignDocument(const char* lpszInputPath, const char* lpszOutputPath, void* pOption, void* pModuleOption, void* pReserved, void* pModuleStatus); +int XDWAPI XDW_SignDocumentW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, void* pOption, void* pModuleOption, void* pReserved, void* pModuleStatus); +int XDWAPI XDW_GetSignatureInformation(XDW_DOCUMENT_HANDLE handle, int nSignature, void* pInfo, void* pModuleInfo, void* pReserved, void* pModuleStatus); +int XDWAPI XDW_UpdateSignatureStatus(XDW_DOCUMENT_HANDLE handle, int nSignature, void* pModuleOption, void* pReserved, void* pModuleStatus); + +int XDWAPI XDW_GetOcrImage(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszOutputPath, void* pImageOption, void* reserved); +int XDWAPI XDW_GetOcrImageW(XDW_DOCUMENT_HANDLE handle, int nPage, const XDW_WCHAR* lpwszOutputPath, void* pImageOption, void* reserved); +int XDWAPI XDW_SetOcrData(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_OCR_TEXTINFO* pData, void* reserved); + +int XDWAPI XDW_GetDocumentAttributeNumberInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByNameInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, const char* lpszAttributeName, int* nAttributeType, char* pAttributeValue, int nDataSize, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByOrderInBinder(XDW_DOCUMENT_HANDLE handle, int nPosition, int nOrder, char* lpszAttributeName, int* nAttributeType, char* pAttributeValue, int nDataSize, void* reserved); + +int XDWAPI XDW_GetTMInfo(XDW_DOCUMENT_HANDLE handle, void* pTMInfo, int nTMInfoSize, void* reserved); +int XDWAPI XDW_SetTMInfo(XDW_DOCUMENT_HANDLE handle, const void* pTMInfo, int nTMInfoSize, void* reserved); + +int XDWAPI XDW_CreateXdwFromImagePdfFile(const char* lpszInputPath, const char* lpszOutputPath, void* reserved); + +int XDWAPI XDW_FindTextInPage(XDW_DOCUMENT_HANDLE handle, int nPage, const char* lpszText, XDW_FIND_TEXT_OPTION* pOption, XDW_FOUND_HANDLE* pFoundHandle, void* reserved); +int XDWAPI XDW_FindNext(XDW_FOUND_HANDLE* pFoundHandle, void* reserved); +int XDWAPI XDW_GetNumberOfRectsInFoundObject(XDW_FOUND_HANDLE foundHandle, void* reserved); +int XDWAPI XDW_GetRectInFoundObject(XDW_FOUND_HANDLE foundHandle, int nRect, XDW_RECT* pRect, int* pnStatus, void* reserved); +int XDWAPI XDW_CloseFoundHandle(XDW_FOUND_HANDLE foundHandle); + +int XDWAPI XDW_GetAnnotationUserAttribute(XDW_ANNOTATION_HANDLE hAnnotation, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void *reserved); +int XDWAPI XDW_SetAnnotationUserAttribute(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, const char* lpszAttributeName, char* pAttributeValue, int nDataSize, void *reserved); + +int XDWAPI XDW_StarchAnnotation(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, int nStarch, void* reserved); + +int XDWAPI XDW_ReleaseProtectionOfDocument(const char* lpszInputPath, const char* lpszOutputPath, void* pOption); +int XDWAPI XDW_ReleaseProtectionOfDocumentW(const XDW_WCHAR* lpwszInputPath, const XDW_WCHAR* lpwszOutputPath, void* pOption); +int XDWAPI XDW_GetProtectionInformation(const char* lpszInputPath, XDW_PROTECTION_INFO* pProtectionInfo, void* reserved); +int XDWAPI XDW_GetProtectionInformationW(const XDW_WCHAR* lpwszInputPath, XDW_PROTECTION_INFO* pProtectionInfo, void* reserved); + +int XDWAPI XDW_GetAnnotationCustomAttributeByName(XDW_ANNOTATION_HANDLE hAnnotation, XDW_WCHAR* lpszAttributeName, int* pnAttributeType, char* pAttributeValue, int nDataSize, void* reserved); +int XDWAPI XDW_GetAnnotationCustomAttributeByOrder(XDW_ANNOTATION_HANDLE hAnnotation, int nOrder, XDW_WCHAR* lpszAttributeName, int* pnAttributeType, char* pAttributeValue, int nDataSize, void* reserved); +int XDWAPI XDW_GetAnnotationCustomAttributeNumber(XDW_ANNOTATION_HANDLE hAnnotation, void* reserved); +int XDWAPI XDW_SetAnnotationCustomAttribute(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, XDW_WCHAR* lpszAttributeName, int nAttributeType, char* pAttributeValue, void* reserved); + +int XDWAPI XDW_GetPageTextToMemoryW(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_WCHAR* pValue, int nBufferLength, void* reserved); +int XDWAPI XDW_GetFullTextW(XDW_DOCUMENT_HANDLE handle, const XDW_WCHAR* pOutputPath, void* reserved); +int XDWAPI XDW_GetAnnotationAttributeW(XDW_ANNOTATION_HANDLE handle, const char* lpszAttributeName, void* pAttributeValue, int nDataSize, int* pnTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_SetAnnotationAttributeW(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, const char* lpszAttributeName, int nAttributeType, void* pAttributeValue, int nTextType, unsigned int codepage, int nReserved, void* pReserved); +int XDWAPI XDW_GetDocumentAttributeByNameW(XDW_DOCUMENT_HANDLE handle, const XDW_WCHAR* pAttributeName, int* pnAttributeType, void* pAttributeValue, int nDataSize, int* pnTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByOrderW(XDW_DOCUMENT_HANDLE handle, int nOrder, XDW_WCHAR* pAttributeName, int* pnAttributeType, void* pAttributeValue, int nDataSize, int* pnTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByNameInBinderW(XDW_DOCUMENT_HANDLE handle, int nPosition, const XDW_WCHAR* pAttributeName, int* pnAttributeType, void* pAttributeValue, int nDataSize, int* pnTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_GetDocumentAttributeByOrderInBinderW(XDW_DOCUMENT_HANDLE handle, int nPosition, int nOrder, XDW_WCHAR* pAttributeName, int* pnAttributeType, void* pAttributeValue, int nDataSize, int* pnTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_SetDocumentAttributeW(XDW_DOCUMENT_HANDLE handle, const XDW_WCHAR* pAttributeName, int nAttributeType, void* pAttributeValue, int nTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_GetDocumentNameInBinderW(XDW_DOCUMENT_HANDLE handle, int nPosition, XDW_WCHAR* pDocName, int nBufferLength, int* pnTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_SetDocumentNameInBinderW(XDW_DOCUMENT_HANDLE handle, int nPosition, const XDW_WCHAR* pDocName, int nTextType, unsigned int codepage, void* reserved); +int XDWAPI XDW_GetOriginalDataInformationW(XDW_DOCUMENT_HANDLE handle, int nOriginalData, XDW_ORGDATA_INFOW* pOriginalDataInfoW, int* pnTextType, unsigned int codepage, void* reserved); + +int XDWAPI XDW_AddAnnotationFromAnnFile(XDW_DOCUMENT_HANDLE handle, const char* lpszAnnFilePath, int nIndex, int nPage, XDW_ANNOTATION_HANDLE hAnnotation, int nHorPos, int nVerPos, XDW_ANNOTATION_HANDLE* phNewAnnotation, void* reserved); +int XDWAPI XDW_AddAnnotationFromAnnFileW(XDW_DOCUMENT_HANDLE handle, const XDW_WCHAR* lpwszAnnFilePath, int nIndex, int nPage, XDW_ANNOTATION_HANDLE hAnnotation, int nHorPos, int nVerPos, XDW_ANNOTATION_HANDLE* phNewAnnotation, void* reserved); +int XDWAPI XDW_GroupAnnotations(XDW_DOCUMENT_HANDLE handle, int nPage, XDW_ANNOTATION_HANDLE hAnnotation, int* pnAnntationIndexes, int nAnnotationNum, XDW_ANNOTATION_HANDLE* phNewAnnotation, void* reserved); +int XDWAPI XDW_UnGroupAnnotation(XDW_DOCUMENT_HANDLE handle, XDW_ANNOTATION_HANDLE hAnnotation, void* reserved); + +/* error code */ +#ifndef XDWAPI_E_DECLARATIONS +#define XDWAPI_E_DECLARATIONS + +#define XDW_E_NOT_INSTALLED ((int)0x80040001) +#define XDW_E_INFO_NOT_FOUND ((int)0x80040002) +#define XDW_E_INSUFFICIENT_BUFFER ((int)0x8007007A) +#define XDW_E_FILE_NOT_FOUND ((int)0x80070002) +#define XDW_E_FILE_EXISTS ((int)0x80070050) +#define XDW_E_ACCESSDENIED ((int)0x80070005) +#define XDW_E_BAD_FORMAT ((int)0x8007000B) +#define XDW_E_OUTOFMEMORY ((int)0x8007000E) +#define XDW_E_WRITE_FAULT ((int)0x8007001D) +#define XDW_E_SHARING_VIOLATION ((int)0x80070020) +#define XDW_E_DISK_FULL ((int)0x80070027) +#define XDW_E_INVALIDARG ((int)0x80070057) +#define XDW_E_INVALID_NAME ((int)0x8007007B) +#define XDW_E_INVALID_ACCESS ((int)0x80040003) +#define XDW_E_INVALID_OPERATION ((int)0x80040004) +#define XDW_E_NEWFORMAT ((int)0x800E0004) +#define XDW_E_BAD_NETPATH ((int)0x800E0005) +#define XDW_E_APPLICATION_FAILED ((int)0x80001156) +#define XDW_E_SIGNATURE_MODULE ((int)0x800E0010) +#define XDW_E_PROTECT_MODULE ((int)0x800E0012) +#define XDW_E_UNEXPECTED ((int)0x8000FFFF) +#define XDW_E_CANCELED ((int)0x80040005) +#define XDW_E_ANNOTATION_NOT_ACCEPTED ((int)0x80040006) + +#endif //XDWAPI_E_DECLARATIONS + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif /* __cplusplus */ + +#endif /* XDW_API_H */ +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Perori/xdwapian.h Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,133 @@ +/* File: xdwapian.h +// Copyright(C) 1999-2002 by Fuji Xerox Co., Ltd. All right reserved. +*/ + +#ifndef __XDWAPIAN_H__ +#define __XDWAPIAN_H__ 1 + +#define XDW_ATN_Text "%Text" +#define XDW_ATN_FontName "%FontName" +#define XDW_ATN_FontStyle "%FontStyle" +#define XDW_ATN_FontSize "%FontSize" +#define XDW_ATN_ForeColor "%ForeColor" +#define XDW_ATN_FontPitchAndFamily "%FontPitchAndFamily" +#define XDW_ATN_FontCharSet "%FontCharSet" +#define XDW_ATN_BackColor "%BackColor" +#define XDW_ATN_Caption "%Caption" +#define XDW_ATN_Url "%Url" +#define XDW_ATN_XdwPath "%XdwPath" +#define XDW_ATN_ShowIcon "%ShowIcon" +#define XDW_ATN_LinkType "%LinkType" +#define XDW_ATN_XdwPage "%XdwPage" +#define XDW_ATN_Tooltip "%Tooltip" +#define XDW_ATN_Tooltip_String "%TooltipString" +#define XDW_ATN_XdwPath_Relative "%XdwPathRelative" +#define XDW_ATN_XdwLink "%XdwLink" +#define XDW_ATN_LinkAtn_Title "%LinkAtnTitle" +#define XDW_ATN_OtherFilePath "%OtherFilePath" +#define XDW_ATN_OtherFilePath_Relative "%OtherFilePathRelative" +#define XDW_ATN_MailAddress "%MailAddress" +#define XDW_ATN_BorderStyle "%BorderStyle" +#define XDW_ATN_BorderWidth "%BorderWidth" +#define XDW_ATN_BorderColor "%BorderColor" +#define XDW_ATN_BorderTransparent "%BorderTransparent" +#define XDW_ATN_BorderType "%BorderType" +#define XDW_ATN_FillStyle "%FillStyle" +#define XDW_ATN_FillColor "%FillColor" +#define XDW_ATN_FillTransparent "%FillTransparent" +#define XDW_ATN_ArrowheadType "%ArrowheadType" +#define XDW_ATN_ArrowheadStyle "%ArrowheadStyle" +#define XDW_ATN_WordWrap "%WordWrap" +#define XDW_ATN_TextDirection "%TextDirection" +#define XDW_ATN_TextOrientation "%TextOrientation" +#define XDW_ATN_LineSpace "%LineSpace" +#define XDW_ATN_AutoResize "%AutoResize" +#define XDW_ATN_Invisible "%Invisible" +#define XDW_ATN_PageFrom "%PageFrom" +#define XDW_ATN_XdwNameInXbd "%XdwNameInXbd" +#define XDW_ATN_TopField "%TopField" +#define XDW_ATN_BottomField "%BottomField" +#define XDW_ATN_DateStyle "%DateStyle" +#define XDW_ATN_YearField "%YearField" +#define XDW_ATN_MonthField "%MonthField" +#define XDW_ATN_DayField "%DayField" +#define XDW_ATN_BasisYearStyle "%BasisYearStyle" +#define XDW_ATN_BasisYear "%BasisYear" +#define XDW_ATN_DateField_FirstChar "%DateFieldFirstChar" +#define XDW_ATN_Alignment "%Alignment" +#define XDW_ATN_LeftRightMargin "%LeftRightMargin" +#define XDW_ATN_TopBottomMargin "%TopBottomMargin" +#define XDW_ATN_VerPosition "%VerPosition" +#define XDW_ATN_StartingNumber "%StartingNumber" +#define XDW_ATN_Digit "%Digit" +#define XDW_ATN_PageRange "%PageRange" +#define XDW_ATN_BeginningPage "%BeginningPage" +#define XDW_ATN_EndingPage "%EndingPage" +#define XDW_ATN_Zoom "%Zoom" +#define XDW_ATN_ImageFile "%ImageFile" +#define XDW_ATN_Points "%Points" +#define XDW_ATN_DateFormat "%DateFormat" +#define XDW_ATN_DateOrder "%DateOrder" +#define XDW_ATN_TextSpacing "%Spacing" +#define XDW_ATN_TextTopMargin "%TopMargin" +#define XDW_ATN_TextLeftMargin "%LeftMargin" +#define XDW_ATN_TextBottomMargin "%BottomMargin" +#define XDW_ATN_TextRightMargin "%RightMargin" +#define XDW_ATN_TextAutoResizeHeight "%AutoResizeHeight" +#define XDW_ATN_GUID "%CustomAnnGuid" +#define XDW_ATN_CustomData "%CustomAnnCustomData" + +#define XDW_PROP_TITLE "%Title" +#define XDW_PROP_SUBJECT "%Subject" +#define XDW_PROP_AUTHOR "%Author" +#define XDW_PROP_KEYWORDS "%Keywords" +#define XDW_PROP_COMMENTS "%Comments" + +#define XDW_PROPW_TITLE L"%Title" +#define XDW_PROPW_SUBJECT L"%Subject" +#define XDW_PROPW_AUTHOR L"%Author" +#define XDW_PROPW_KEYWORDS L"%Keywords" +#define XDW_PROPW_COMMENTS L"%Comments" + +#define XDW_COLOR_NONE 0x010101 +#define XDW_COLOR_BLACK 0x000000 +#define XDW_COLOR_MAROON 0x000080 +#define XDW_COLOR_GREEN 0x008000 +#define XDW_COLOR_OLIVE 0x008080 +#define XDW_COLOR_NAVY 0x800000 +#define XDW_COLOR_PURPLE 0x800080 +#define XDW_COLOR_TEAL 0x808000 +#define XDW_COLOR_GRAY 0x808080 +#define XDW_COLOR_SILVER 0xC0C0C0 +#define XDW_COLOR_RED 0x0000FF +#define XDW_COLOR_LIME 0x00FF00 +#define XDW_COLOR_YELLOW 0x00FFFF +#define XDW_COLOR_BLUE 0xFF0000 +#define XDW_COLOR_FUCHIA 0xFF00FF +#define XDW_COLOR_AQUA 0xFFFF00 +#define XDW_COLOR_WHITE 0xFFFFFF +#define XDW_COLOR_FUSEN_RED 0xFFC2FF +#define XDW_COLOR_FUSEN_BLUE 0xFFBF9D +#define XDW_COLOR_FUSEN_YELLOW 0x64FFFF +#define XDW_COLOR_FUSEN_LIME 0xC2FF9D +#define XDW_COLOR_FUSEN_PALE_RED 0xE1D7FF +#define XDW_COLOR_FUSEN_PALE_BLUE 0xFAE1C8 +#define XDW_COLOR_FUSEN_PALE_YELLOW 0xC3FAFF +#define XDW_COLOR_FUSEN_PALE_LIME 0xD2FACD + +#define XDW_FS_ITALIC_FLAG 1 +#define XDW_FS_BOLD_FLAG 2 +#define XDW_FS_UNDERLINE_FLAG 4 +#define XDW_FS_STRIKEOUT_FLAG 8 + +#define XDW_LT_LINK_TO_ME 0 +#define XDW_LT_LINK_TO_XDW 1 +#define XDW_LT_LINK_TO_URL 2 +#define XDW_LT_LINK_TO_OTHERFILE 3 +#define XDW_LT_LINK_TO_MAILADDR 4 + +#define XDW_PF_XDW 0 +#define XDW_PF_XBD 1 +#define XDW_PF_XDW_IN_XBD 2 + +#endif //__XDWAPIAN_H__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/Makefile Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,99 @@ +# Makefile for wxWidgets Application +# Last Change: 2020-02-12 … 15:59:48. +# by Takayuki Mutoh +# + +PROGNAME = porori + +### Variables ### +ARCH = 64 +#ARCH = 32 +LOCAL = C:/msys64/home/muto/local$(ARCH) +OBJDIR = ./obj$(ARCH) +CXX = g++ +vpath %.cpp ./src +vpath %.h ./include +vpath %.rc ./image + +# For Microsoft Windows +ifdef COMSPEC +WXCXXFLAGS = -I./image -I$(LOCAL)/lib/wx/include/msw-unicode-static-3.1 -I$(LOCAL)/include/wx-3.1 -D_LARGEFILE_SOURCE=unknown -D__WXMSW__ -mthreads +WXLIBS = -L$(LOCAL)/lib -Wl,--subsystem,windows -mwindows -lwx_mswu_xrc-3.1 -lwx_mswu_qa-3.1 -lwx_baseu_net-3.1 -lwx_mswu_html-3.1 -lwx_mswu_adv-3.1 -lwx_mswu_core-3.1 -lwx_baseu_xml-3.1 -lwx_baseu-3.1 -lwxtiff-3.1 -lwxjpeg-3.1 -lwxpng-3.1 -lwxregexu-3.1 -lwxscintilla-3.1 -lwxexpat-3.1 -lwxzlib-3.1 -lrpcrt4 -loleaut32 -lole32 -luuid -luxtheme -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lcomdlg32 -ladvapi32 -lversion -lwsock32 -lgdi32 -loleacc +LIBS = $(WXLIBS) -static + +EXECUTABLE = $(PROGNAME).exe + +# For Apple OSX +else +WXCXXFLAGS = -I/opt/local/lib/wx/include/osx_cocoa-unicode-2.9 -I/opt/local/include/wx-2.9 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ +WXLIBS = -L/opt/local/lib -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL -framework QuickTime -lwx_osx_cocoau_richtext-2.9 -lwx_osx_cocoau_xrc-2.9 -lwx_osx_cocoau_webview-2.9 -lwx_osx_cocoau_html-2.9 -lwx_osx_cocoau_qa-2.9 -lwx_osx_cocoau_adv-2.9 -lwx_osx_cocoau_core-2.9 -lwx_baseu_xml-2.9 -lwx_baseu_net-2.9 -lwx_baseu-2.9 + +EXECUTABLE = $(PROGNAME).app/Contents/Pkginfo + +endif + +CXXFLAGS = $(WXCXXFLAGS) -I./include -I./image +#LIBS = $(WXLIBS) -static-libgcc -static-libstdc++ + + +OBJ = $(OBJDIR)/main.o \ + $(OBJDIR)/porori.o + +ifdef COMSPEC +OBJMSW = $(OBJ) $(OBJDIR)/sample_rc.o +endif + + +### Targets ### + +all: $(EXECUTABLE) + + +$(PROGNAME): $(OBJMSW) + $(CXX) $^ -o $@ $(LIBS) + + +$(OBJDIR)/main.o: main.cpp main.h porori.h + -mkdir -p $(OBJDIR) + $(CXX) -c $< -o $@ $(CXXFLAGS) + +$(OBJDIR)/porori.o: porori.cpp porori.h + $(CXX) -c $< -o $@ $(CXXFLAGS) + + +# for icon +ifdef COMSPEC +$(OBJDIR)/sample_rc.o: sample.rc + #windres -i sample.rc -o $@ -I$(LOCAL)/include/wx-3.1 + windres -i $< -o $@ -I$(LOCAL)/include/wx-3.1 +endif + +$(EXECUTABLE): $(PROGNAME) +ifdef COMSPEC + strip --strip-all $(EXECUTABLE) + ./$(PROGNAME).exe +else + -mkdir -p $(PROGNAME).app/Contents + -mkdir -p $(PROGNAME).app/Contents/MacOS + -mkdir -p $(PROGNAME).app/Contents/Resources + + sed -e "s/IDENTIFIER/$(PROGNAME)/" \ + -e "s/EXECUTABLE/$(PROGNAME)/" \ + -e "s/VERSION/0.0/" \ + Info.plist.in > $(PROGNAME).app/Contents/Info.plist + + echo -n "APPL????" > $(EXECUTABLE) + + ln -f $(PROGNAME) $(PROGNAME).app/Contents/MacOS/$(PROGNAME) + cp -f wxmac.icns $(PROGNAME).app/Contents/Resources/wxmac.icns + + open $(PROGNAME).app +endif + +clean: + rm -f $(PROGNAME) $(PROGNAME).exe + rm -f $(OBJDIR)/*.o + rm -rf $(PROGNAME).app + +.PHONY: all clean +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/Nintei.fbp Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,323 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<wxFormBuilder_Project> + <FileVersion major="1" minor="15" /> + <object class="Project" expanded="1"> + <property name="class_decoration">; </property> + <property name="code_generation">C++</property> + <property name="disconnect_events">1</property> + <property name="disconnect_mode">source_name</property> + <property name="disconnect_php_events">0</property> + <property name="disconnect_python_events">0</property> + <property name="embedded_files_path">res</property> + <property name="encoding">UTF-8</property> + <property name="event_generation">connect</property> + <property name="file"></property> + <property name="first_id">1000</property> + <property name="help_provider">none</property> + <property name="indent_with_spaces"></property> + <property name="internationalize">0</property> + <property name="name">ProjectNintei</property> + <property name="namespace"></property> + <property name="path">.</property> + <property name="precompiled_header"></property> + <property name="relative_path">1</property> + <property name="skip_lua_events">1</property> + <property name="skip_php_events">1</property> + <property name="skip_python_events">1</property> + <property name="ui_table">UI</property> + <property name="use_enum">1</property> + <property name="use_microsoft_bom">0</property> + <object class="Frame" expanded="1"> + <property name="aui_managed">0</property> + <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property> + <property name="bg"></property> + <property name="center">wxBOTH</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="enabled">1</property> + <property name="event_handler">impl_virtual</property> + <property name="extra_style"></property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">PororiFrame</property> + <property name="pos"></property> + <property name="size">340,80</property> + <property name="style">wxDEFAULT_FRAME_STYLE</property> + <property name="subclass">; ; forward_declare</property> + <property name="title">Porori</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style">wxTAB_TRAVERSAL</property> + <property name="xrc_skip_sizer">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">bSizerTop</property> + <property name="orient">wxHORIZONTAL</property> + <property name="permission">none</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property> + <property name="proportion">0</property> + <object class="wxDatePickerCtrl" expanded="1"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer"></property> + <property name="aui_name"></property> + <property name="aui_position"></property> + <property name="aui_row"></property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_datePickerFrom</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style">wxDP_DEFAULT</property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL</property> + <property name="proportion">0</property> + <object class="wxStaticText" expanded="1"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer"></property> + <property name="aui_name"></property> + <property name="aui_position"></property> + <property name="aui_row"></property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">〜</property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_staticText</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <property name="wrap">-1</property> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property> + <property name="proportion">0</property> + <object class="wxDatePickerCtrl" expanded="1"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer"></property> + <property name="aui_name"></property> + <property name="aui_position"></property> + <property name="aui_row"></property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_datePickerTo</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style">wxDP_DEFAULT</property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property> + <property name="proportion">0</property> + <object class="wxButton" expanded="1"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer"></property> + <property name="aui_name"></property> + <property name="aui_position"></property> + <property name="aui_row"></property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="bitmap"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="current"></property> + <property name="default">0</property> + <property name="default_pane">0</property> + <property name="disabled"></property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="focus"></property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">ID_PROCESS</property> + <property name="label">実行</property> + <property name="margins"></property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_button</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="position"></property> + <property name="pressed"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <event name="OnButtonClick">OnClick</event> + </object> + </object> + </object> + </object> + </object> +</wxFormBuilder_Project>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/Porori.bat Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,7 @@ +@echo off +set PDIR=C:\Users\KAIGO\Desktop\Porori +mkdir %PDIR% +copy S:\Current\0000_Every\ÅV”F’èî•ñ\Porori\bin\* %PDIR% +rem copy S:\Current\0000_Every\ÅV”F’èî•ñ\Porori\bin64\* %PDIR% +cd %PDIR% +call %PDIR%\make
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/a.csv Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,157 @@ +”í•Û”Ô,Ž–¼,\¿“ú,‹æ•ª,ŠJŽn“ú,I—¹“ú,ŠúŠÔ,R¸‰ï +="0800469686",ŽR“c ‘¾˜Y003, 2019-10-15,V‹K, 2019-10-15, 2020-10-31,12, 2020-01-17 +="0800116627",ŽR“c ‘¾˜Y013, 2019-11-12,V‹K, 2019-11-12, 2020-11-30,12, 2020-01-17 +="0200094557",ŽR“c ‘¾˜Y019, 2019-11-14,V‹K, 2019-11-14, 2020-11-30,12, 2020-01-17 +="0300143253",ŽR“c ‘¾˜Y020, 2019-11-14,‹æ•Ï, 2019-11-14, 2020-11-30,12, 2020-01-17 +="0800438454",ŽR“c ‘¾˜Y024, 2019-11-14,V‹K, 2019-11-14, 2020-11-30,12, 2020-01-17 +="0300133967",ŽR“c ‘¾˜Y027, 2019-11-15,V‹K, 2019-11-15, 2020-11-30,12, 2020-01-17 +="0800288134",ŽR“c ‘¾˜Y029, 2019-11-15,V‹K, 2019-11-15, 2020-11-30,12, 2020-01-17 +="0300100430",ŽR“c ‘¾˜Y032, 2019-11-18,V‹K, 2019-11-18, 2020-11-30,12, 2020-01-17 +="0800031885",ŽR“c ‘¾˜Y034, 2019-11-18,XV, 2020-01-01, 2020-12-31,12, 2020-01-17 +="0800154863",ŽR“c ‘¾˜Y037, 2019-11-19,V‹K, 2019-11-19, 2020-11-30,12, 2020-01-17 +="0300002595",ŽR“c ‘¾˜Y042, 2019-11-22,V‹K, 2019-11-22, 2020-11-30,12, 2020-01-17 +="0200022920",ŽR“c ‘¾˜Y046, 2019-11-25,V‹K, 2019-11-25, 2020-11-30,12, 2020-01-17 +="0800116490",ŽR“c ‘¾˜Y051, 2019-11-25,V‹K, 2019-11-25, 2020-11-30,12, 2020-01-17 +="0200078136",ŽR“c ‘¾˜Y047, 2019-11-25,V‹K, 2019-11-25, 2020-11-30,12, 2020-01-17 +="0800290449",ŽR“c ‘¾˜Y055, 2019-11-26,‹æ•Ï, 2019-11-26, 2020-11-30,12, 2020-01-17 +="0300099866",ŽR“c ‘¾˜Y059, 2019-11-27,V‹K, 2019-11-27, 2020-11-30,12, 2020-01-17 +="0300137245",ŽR“c ‘¾˜Y060, 2019-11-27,V‹K, 2019-11-27, 2020-11-30,12, 2020-01-17 +="0800287847",ŽR“c ‘¾˜Y061, 2019-11-27,V‹K, 2019-11-27, 2020-11-30,12, 2020-01-17 +="0800355419",ŽR“c ‘¾˜Y062, 2019-11-27,V‹K, 2019-11-27, 2020-11-30,12, 2020-01-17 +="0300123759",ŽR“c ‘¾˜Y066, 2019-11-28,V‹K, 2019-11-28, 2020-11-30,12, 2020-01-17 +="0300090753",ŽR“c ‘¾˜Y063, 2019-11-28,V‹K, 2019-11-28, 2020-11-30,12, 2020-01-17 +="0800018021",ŽR“c ‘¾˜Y070, 2019-11-29,‹æ•Ï, 2019-11-29, 2020-11-30,12, 2020-01-17 +="0300049966",ŽR“c ‘¾˜Y069, 2019-11-29,XV, 2019-12-01, 2022-11-30,36, 2020-01-17 +="0800458803",ŽR“c ‘¾˜Y074, 2019-11-29,V‹K, 2019-11-29, 2020-11-30,12, 2020-01-17 +="0800221358",ŽR“c ‘¾˜Y073, 2019-11-29,XV, 2020-01-01, 2020-12-31,12, 2020-01-17 +="0300112412",ŽR“c ‘¾˜Y087, 2019-12-01,‹æ•Ï, 2019-12-01, 2020-11-30,12, 2020-01-17 +="0300116426",ŽR“c ‘¾˜Y088, 2019-12-01,‹æ•Ï, 2019-12-01, 2020-11-30,12, 2020-01-17 +="0800091110",ŽR“c ‘¾˜Y098, 2019-12-01,‹æ•Ï, 2019-12-01, 2020-11-30,12, 2020-01-17 +="0800131405",ŽR“c ‘¾˜Y102, 2019-12-01,Žx‰î, 2019-12-01, 2020-11-30,12, 2020-01-17 +="0800190517",ŽR“c ‘¾˜Y107, 2019-12-01,‹æ•Ï, 2019-12-01, 2020-11-30,12, 2020-01-17 +="0800401208",ŽR“c ‘¾˜Y113, 2019-12-01,V‹K, 2019-12-01, 2020-11-30,12, 2020-01-17 +="0800427720",ŽR“c ‘¾˜Y114, 2019-12-01,Žx‰î, 2019-12-01, 2020-11-30,12, 2020-01-17 +="0800458692",ŽR“c ‘¾˜Y115, 2019-12-01,‹æ•Ï, 2019-12-01, 2020-11-30,12, 2020-01-17 +="0300021832",ŽR“c ‘¾˜Y136, 2019-12-02,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300005381",ŽR“c ‘¾˜Y132, 2019-12-02,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300017568",ŽR“c ‘¾˜Y135, 2019-12-02,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0100058766",ŽR“c ‘¾˜Y120, 2019-12-02,‹æ•Ï, 2019-12-02, 2020-12-31,12, 2020-01-17 +="0300032648",ŽR“c ‘¾˜Y138, 2019-12-02,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300043003",ŽR“c ‘¾˜Y139, 2019-12-02,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300121438",ŽR“c ‘¾˜Y140, 2019-12-02,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300121691",ŽR“c ‘¾˜Y141, 2019-12-02,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800277167",ŽR“c ‘¾˜Y167, 2019-12-02,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800065240",ŽR“c ‘¾˜Y146, 2019-12-02,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800128552",ŽR“c ‘¾˜Y150, 2019-12-02,V‹K, 2019-12-02, 2020-12-31,12, 2020-01-17 +="0800137012",ŽR“c ‘¾˜Y151, 2019-12-02,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800140684",ŽR“c ‘¾˜Y152, 2019-12-02,XV, 2020-02-01, 2021-01-31,12, 2020-01-17 +="0800016592",ŽR“c ‘¾˜Y144, 2019-12-02,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800189705",ŽR“c ‘¾˜Y157, 2019-12-02,‹æ•Ï, 2019-12-02, 2020-12-31,12, 2020-01-17 +="0200023820",ŽR“c ‘¾˜Y176, 2019-12-03,‹æ•Ï, 2019-12-03, 2020-12-31,12, 2020-01-17 +="0200053281",ŽR“c ‘¾˜Y178, 2019-12-03,Žx‰î, 2019-12-03, 2020-12-31,12, 2020-01-17 +="0200102088",ŽR“c ‘¾˜Y187, 2019-12-03,V‹K, 2019-12-03, 2020-12-31,12, 2020-01-17 +="0300120296",ŽR“c ‘¾˜Y195, 2019-12-03,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300133673",ŽR“c ‘¾˜Y196, 2019-12-03,XV, 2020-01-01, 2020-12-31,12, 2020-01-17 +="0800185483",ŽR“c ‘¾˜Y205, 2019-12-03,V‹K, 2019-12-03, 2020-12-31,12, 2020-01-17 +="0300111300",ŽR“c ‘¾˜Y278, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0100014416",ŽR“c ‘¾˜Y211, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0100027658",ŽR“c ‘¾˜Y213, 2019-12-04,XV, 2020-02-01, 2021-01-31,12, 2020-01-17 +="0100031370",ŽR“c ‘¾˜Y214, 2019-12-04,XV, 2020-02-01, 2021-01-31,12, 2020-01-17 +="0100066980",ŽR“c ‘¾˜Y219, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0100068443",ŽR“c ‘¾˜Y220, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0100077310",ŽR“c ‘¾˜Y222, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0100104920",ŽR“c ‘¾˜Y228, 2019-12-04,V‹K, 2019-12-04, 2020-12-31,12, 2020-01-17 +="0200006020",ŽR“c ‘¾˜Y237, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0200020235",ŽR“c ‘¾˜Y238, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0200093151",ŽR“c ‘¾˜Y246, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300001211",ŽR“c ‘¾˜Y253, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300074510",ŽR“c ‘¾˜Y265, 2019-12-04,V‹K, 2019-12-04, 2020-12-31,12, 2020-01-17 +="0300075177",ŽR“c ‘¾˜Y267, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300078915",ŽR“c ‘¾˜Y269, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300082726",ŽR“c ‘¾˜Y272, 2019-12-04,XV, 2020-02-01, 2021-01-31,12, 2020-01-17 +="0100000873",ŽR“c ‘¾˜Y209, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300115314",ŽR“c ‘¾˜Y279, 2019-12-04,‹æ•Ï, 2019-12-04, 2020-12-31,12, 2020-01-17 +="0300130860",ŽR“c ‘¾˜Y281, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300146112",ŽR“c ‘¾˜Y282, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800010977",ŽR“c ‘¾˜Y283, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800015650",ŽR“c ‘¾˜Y284, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800027160",ŽR“c ‘¾˜Y285, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800042283",ŽR“c ‘¾˜Y286, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800420024",ŽR“c ‘¾˜Y328, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800070228",ŽR“c ‘¾˜Y289, 2019-12-04,XV, 2020-02-01, 2021-01-31,12, 2020-01-17 +="0800073898",ŽR“c ‘¾˜Y290, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800080118",ŽR“c ‘¾˜Y291, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800087112",ŽR“c ‘¾˜Y293, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800095727",ŽR“c ‘¾˜Y297, 2019-12-04,V‹K, 2019-12-04, 2020-12-31,12, 2020-01-17 +="0800102421",ŽR“c ‘¾˜Y299, 2019-12-04,XV, 2020-01-01, 2022-12-31,36, 2020-01-17 +="0800116074",ŽR“c ‘¾˜Y302, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800159881",ŽR“c ‘¾˜Y305, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800242622",ŽR“c ‘¾˜Y317, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800251583",ŽR“c ‘¾˜Y319, 2019-12-04,XV, 2020-02-01, 2022-01-31,24, 2020-01-17 +="0800277159",ŽR“c ‘¾˜Y321, 2019-12-04,XV, 2020-02-01, 2022-01-31,24, 2020-01-17 +="0800372623",ŽR“c ‘¾˜Y324, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800401666",ŽR“c ‘¾˜Y325, 2019-12-04,XV, 2020-02-01, 2022-01-31,24, 2020-01-17 +="0800406005",ŽR“c ‘¾˜Y326, 2019-12-04,V‹K, 2019-12-04, 2020-12-31,12, 2020-01-17 +="0800066107",ŽR“c ‘¾˜Y288, 2019-12-04,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800393876",ŽR“c ‘¾˜Y414, 2019-12-05,XV, 2020-02-01, 2022-01-31,24, 2020-01-17 +="0100088223",ŽR“c ‘¾˜Y346, 2019-12-05,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0200068939",ŽR“c ‘¾˜Y356, 2019-12-05,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0200072839",ŽR“c ‘¾˜Y357, 2019-12-05,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0200090195",ŽR“c ‘¾˜Y361, 2019-12-05,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300064264",ŽR“c ‘¾˜Y369, 2019-12-05,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300078877",ŽR“c ‘¾˜Y371, 2019-12-05,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800008131",ŽR“c ‘¾˜Y384, 2019-12-05,XV, 2020-02-01, 2022-01-31,24, 2020-01-17 +="0800018323",ŽR“c ‘¾˜Y385, 2019-12-05,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800066450",ŽR“c ‘¾˜Y387, 2019-12-05,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800079969",ŽR“c ‘¾˜Y389, 2019-12-05,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800083737",ŽR“c ‘¾˜Y390, 2019-12-05,‹æ•Ï, 2019-12-05, 2020-12-31,12, 2020-01-17 +="0800093635",ŽR“c ‘¾˜Y393, 2019-12-05,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800129940",ŽR“c ‘¾˜Y398, 2019-12-05,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800172365",ŽR“c ‘¾˜Y405, 2019-12-05,‹æ•Ï, 2019-12-05, 2020-12-31,12, 2020-01-17 +="0100002868",ŽR“c ‘¾˜Y334, 2019-12-05,XV, 2020-02-01, 2022-01-31,24, 2020-01-17 +="0100024160",ŽR“c ‘¾˜Y417, 2019-12-06,V‹K, 2019-12-06, 2020-12-31,12, 2020-01-17 +="0100061830",ŽR“c ‘¾˜Y422, 2019-12-06,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0200003829",ŽR“c ‘¾˜Y433, 2019-12-06,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0200085086",ŽR“c ‘¾˜Y444, 2019-12-06,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300098894",ŽR“c ‘¾˜Y456, 2019-12-06,‹æ•Ï, 2019-12-06, 2020-12-31,12, 2020-01-17 +="0800005345",ŽR“c ‘¾˜Y461, 2019-12-06,XV, 2020-02-01, 2021-01-31,12, 2020-01-17 +="0800029120",ŽR“c ‘¾˜Y468, 2019-12-06,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800056578",ŽR“c ‘¾˜Y472, 2019-12-06,V‹K, 2019-12-06, 2020-12-31,12, 2020-01-17 +="0800208122",ŽR“c ‘¾˜Y489, 2019-12-06,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0800309700",ŽR“c ‘¾˜Y496, 2019-12-06,XV, 2020-02-01, 2022-01-31,24, 2020-01-17 +="0800264855",ŽR“c ‘¾˜Y556, 2019-12-09,XV, 2020-01-01, 2021-12-31,24, 2020-01-17 +="0100032937",ŽR“c ‘¾˜Y508, 2019-12-09,‹æ•Ï, 2019-12-09, 2020-12-31,12, 2020-01-17 +="0100069890",ŽR“c ‘¾˜Y515, 2019-12-09,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0100090848",ŽR“c ‘¾˜Y517, 2019-12-09,V‹K, 2019-12-09, 2020-12-31,12, 2020-01-17 +="0200049241",ŽR“c ‘¾˜Y522, 2019-12-09,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0100029324",ŽR“c ‘¾˜Y507, 2019-12-09,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0300063322",ŽR“c ‘¾˜Y533, 2019-12-09,V‹K, 2019-12-09, 2020-12-31,12, 2020-01-17 +="0800017190",ŽR“c ‘¾˜Y536, 2019-12-09,V‹K, 2019-12-09, 2020-12-31,12, 2020-01-17 +="0800025940",ŽR“c ‘¾˜Y538, 2019-12-09,Žx‰î, 2019-12-09, 2020-12-31,12, 2020-01-17 +="0800085764",ŽR“c ‘¾˜Y542, 2019-12-09,‹æ•Ï, 2019-12-09, 2020-12-31,12, 2020-01-17 +="0800095042",ŽR“c ‘¾˜Y543, 2019-12-09,V‹K, 2019-12-09, 2020-12-31,12, 2020-01-17 +="0800113407",ŽR“c ‘¾˜Y546, 2019-12-09,V‹K, 2019-12-09, 2020-12-31,12, 2020-01-17 +="0200077059",ŽR“c ‘¾˜Y526, 2019-12-09,XV, 2020-02-01, 2023-01-31,36, 2020-01-17 +="0100000407",ŽR“c ‘¾˜Y561, 2019-12-10,V‹K, 2019-12-10, 2020-12-31,12, 2020-01-17 +="0300059724",ŽR“c ‘¾˜Y571, 2019-12-10,V‹K, 2019-12-10, 2020-12-31,12, 2020-01-17 +="0800358868",ŽR“c ‘¾˜Y589, 2019-12-10,V‹K, 2019-12-10, 2020-12-31,12, 2020-01-17 +="0800361184",ŽR“c ‘¾˜Y590, 2019-12-10,V‹K, 2019-12-10, 2020-12-31,12, 2020-01-17 +="0800155223",ŽR“c ‘¾˜Y600, 2019-12-11,V‹K, 2019-12-11, 2020-12-31,12, 2020-01-17 +="0800224489",ŽR“c ‘¾˜Y602, 2019-12-11,XV, 2020-01-01, 2022-12-31,36, 2020-01-17 +="0800365082",ŽR“c ‘¾˜Y604, 2019-12-11,V‹K, 2019-12-11, 2020-12-31,12, 2020-01-17 +="0800384087",ŽR“c ‘¾˜Y605, 2019-12-11,V‹K, 2019-12-11, 2020-12-31,12, 2020-01-17 +="0800435315",ŽR“c ‘¾˜Y607, 2019-12-11,V‹K, 2019-12-11, 2020-12-31,12, 2020-01-17 +="0800142130",ŽR“c ‘¾˜Y618, 2019-12-12,V‹K, 2019-12-12, 2020-12-31,12, 2020-01-17 +="0100075040",ŽR“c ‘¾˜Y610, 2019-12-12,V‹K, 2019-12-12, 2020-12-31,12, 2020-01-17 +="0100065266",ŽR“c ‘¾˜Y609, 2019-12-12,‹æ•Ï, 2019-12-12, 2020-12-31,12, 2020-01-17 +="0800123666",ŽR“c ‘¾˜Y616, 2019-12-12,V‹K, 2019-12-12, 2020-12-31,12, 2020-01-17 +="0100090201",ŽR“c ‘¾˜Y611, 2019-12-12,V‹K, 2019-12-12, 2020-12-31,12, 2020-01-17 +="0100078686",ŽR“c ‘¾˜Y623, 2019-12-13,V‹K, 2019-12-13, 2020-12-31,12, 2020-01-17 +="0800012317",ŽR“c ‘¾˜Y625, 2019-12-13,V‹K, 2019-12-13, 2020-12-31,12, 2020-01-17 +="0100116057",ŽR“c ‘¾˜Y640, 2019-12-16,V‹K, 2019-12-16, 2020-12-31,12, 2020-01-17 +="0800059020",ŽR“c ‘¾˜Y649, 2019-12-16,Žx‰î, 2019-12-16, 2020-12-31,12, 2020-01-17 +="0800415152",ŽR“c ‘¾˜Y654, 2019-12-16,V‹K, 2019-12-16, 2020-12-31,12, 2020-01-17 +="0100030730",ŽR“c ‘¾˜Y638, 2019-12-16,Žx‰î, 2019-12-16, 2020-12-31,12, 2020-01-17 +="0800101522",ŽR“c ‘¾˜Y667, 2019-12-17,Žx‰î, 2019-12-17, 2020-12-31,12, 2020-01-17 +="0200045530",ŽR“c ‘¾˜Y659, 2019-12-17,V‹K, 2019-12-17, 2020-12-31,12, 2020-01-17 +="0800493609",ŽR“c ‘¾˜Y709, 2020-01-06,“]“ü, 2020-01-06, 2021-01-31,12, 2020-01-15
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/image/sample.rc Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,32 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: samples/samples.rc +// Purpose: a standard Win32 .rc file for the wxWindows samples +// Author: Vadim Zeitlin +// Modified by: +// Created: 04.08.03 +// RCS-ID: $Id: sample.rc 22863 2003-08-14 14:08:53Z VS $ +// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org> +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// this minimal resource file is all what is needed for most of the wxWindows +// samples + +// note that the icon used by the Explorer (i.e. the programs icon) is the +// first icon in the executable and the icons are sorted both by their order +// (Win9x) and by alphabetically (!) (NT), so put this icon first and give it +// a name starting with "a" +aaaaaaaa ICON "sample.ico" + +// this icon is used with wxFrame::SetIcon() +sample ICON "sample.ico" + +// set this to 1 if you don't want to use manifest resource (manifest resource +// is needed to enable visual styles on Windows XP - see docs/msw/winxp.txt +// for more information) +#define wxUSE_NO_MANIFEST 0 + +// this is not always needed but doesn't hurt (except making the executable +// very slightly larger): this file contains the standard icons, cursors, ... +#include "wx/msw/wx.rc" +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/image/sample.xpm Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,23 @@ +/* XPM */ +static char * sample_xpm[] = { +"16 16 4 1", +" c None", +". c #6ECB63", +"+ c #8C0214", +"@ c #ECE6B4", +"................", +"................", +".++.++.++.++.++.", +".++.++.++.++.++.", +".++.++.++.++.++.", +".++.++.++.++.++.", +".++.++.++.++.++.", +".++.++.++.++.++.", +".++.++.++.++.++.", +".++.++.++.++.++.", +".++.++.++.++.++.", +".@@.@@.@@.@@.@@.", +".@@.@@.@@.@@.@@.", +".@@.@@.@@.@@.@@.", +"................", +"................"};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/include/main.h Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,20 @@ +// Filename : main.h +// Last Change: 2016-12-01 –Ø 18:02:02. +// +#include <wx/wx.h> + +// private classes +// Define a new application type, each program should derive a class from wxApp +class MyApp : public wxApp +{ + DECLARE_CLASS( MyApp ) +public: + MyApp(); + ~MyApp(); + + virtual bool OnInit(); + virtual int OnExit(); +}; + +DECLARE_APP(MyApp) +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/include/porori.h Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,50 @@ +/* Filename : porori.h + Last Change: 2020-02-12 … 15:55:27. + by Takayuki Mutoh +*/ + +#pragma once + +#include <wx/artprov.h> +#include <wx/xrc/xmlres.h> +#include <wx/datectrl.h> +#include <wx/dateevt.h> +#include <wx/gdicmn.h> +#include <wx/font.h> +#include <wx/colour.h> +#include <wx/settings.h> +#include <wx/string.h> +#include <wx/stattext.h> +#include <wx/bitmap.h> +#include <wx/image.h> +#include <wx/icon.h> +#include <wx/button.h> +#include <wx/sizer.h> +#include <wx/frame.h> +#include <wx/textfile.h> + +class PororiFrame : public wxFrame +{ + private: + enum { + ID_PROCESS = 1000 + }; + + protected: + wxDatePickerCtrl* m_datePickerFrom; + wxStaticText* m_staticText; + wxDatePickerCtrl* m_datePickerTo; + wxButton* m_button; + + wxString m_json = wxT("porori.json"); + wxString m_icon = wxT("sample"); + + // Virtual event handlers, overide them in your derived class + virtual void OnClick(wxCommandEvent& event); + + public: + PororiFrame(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Porori"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL); + ~PororiFrame(); + +}; +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/make.bat Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,22 @@ +@echo off + +rem -------------------------- +rem Config (make porori.json) +rem -------------------------- +porori.exe + +rem -------------------------- +rem Get Data (recent) +rem -------------------------- +set ACCESS="C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE" +set MDB=C:\Users\KAIGO\Desktop\Porori\export.mdb +set CSV=C:\Users\KAIGO\Documents\nintei.csv + +%ACCESS% %MDB% /nostartup /x data + +rem -------------------------- +rem Do Filter +rem -------------------------- +porori_go.exe %CSV% > a.csv +start a.csv +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/nintei.csv Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,709 @@ +0800285976 ,ŽR“c ‘¾˜Y001,20191009,02,20200110,20191201,20221130 +0800118522 ,ŽR“c ‘¾˜Y002,20191010,01,20200110,20191010,20201031 +0800469686 ,ŽR“c ‘¾˜Y003,20191015,01,20200117,20191015,20201031 +0200075994 ,ŽR“c ‘¾˜Y004,20191101,02,20200110,20200101,20221231 +0100125005 ,ŽR“c ‘¾˜Y005,20191105,02,20200110,20200101,20221231 +0800159237 ,ŽR“c ‘¾˜Y006,20191105,10,20200110,20191105,20201130 +0800403448 ,ŽR“c ‘¾˜Y007,20191105,02,20200110,20200101,20221231 +0800151228 ,ŽR“c ‘¾˜Y008,20191106,02,20200110,20200101,20221231 +0800185700 ,ŽR“c ‘¾˜Y009,20191106,01,20200110,20191106,20201130 +0100063689 ,ŽR“c ‘¾˜Y010,20191107,02,20200110,20200101,20221231 +0200018893 ,ŽR“c ‘¾˜Y011,20191107,02,20200110,20200101,20211231 +0300139353 ,ŽR“c ‘¾˜Y012,20191108,02,20200124,20200101,20211231 +0800116627 ,ŽR“c ‘¾˜Y013,20191112,01,20200117,20191112,20201130 +0800343542 ,ŽR“c ‘¾˜Y014,20191112,01,20200110,20191112,20201130 +0100082730 ,ŽR“c ‘¾˜Y015,20191113,10,20200110,20191113,20201130 +0100122537 ,ŽR“c ‘¾˜Y016,20191113,02,20200110,20200101,20221231 +0800408539 ,ŽR“c ‘¾˜Y017,20191113,02,20200131,20200101,20221231 +0200026535 ,ŽR“c ‘¾˜Y018,20191114,05,20200110,20191114,20201130 +0200094557 ,ŽR“c ‘¾˜Y019,20191114,01,20200117,20191114,20201130 +0300143253 ,ŽR“c ‘¾˜Y020,20191114,05,20200117,20191114,20201130 +0300145256 ,ŽR“c ‘¾˜Y021,20191114,01,20200124,20191114,20201130 +0800056780 ,ŽR“c ‘¾˜Y022,20191114,01,20200110,, +0800360668 ,ŽR“c ‘¾˜Y023,20191114,01,20200110,20191114,20201130 +0800438454 ,ŽR“c ‘¾˜Y024,20191114,01,20200117,20191114,20201130 +0100007789 ,ŽR“c ‘¾˜Y025,20191115,01,20200110,20191115,20201130 +0300048889 ,ŽR“c ‘¾˜Y026,20191115,02,20200110,20200101,20221231 +0300133967 ,ŽR“c ‘¾˜Y027,20191115,01,20200117,20191115,20201130 +0800167833 ,ŽR“c ‘¾˜Y028,20191115,01,20200110,20191115,20201130 +0800288134 ,ŽR“c ‘¾˜Y029,20191115,01,20200117,20191115,20201130 +0100042703 ,ŽR“c ‘¾˜Y030,20191118,05,20200110,20191118,20201130 +0100048779 ,ŽR“c ‘¾˜Y031,20191118,01,20200110,20191118,20201130 +0300100430 ,ŽR“c ‘¾˜Y032,20191118,01,20200117,20191118,20201130 +0300112064 ,ŽR“c ‘¾˜Y033,20191118,10,20200110,20191118,20201130 +0800031885 ,ŽR“c ‘¾˜Y034,20191118,02,20200117,20200101,20201231 +0800206030 ,ŽR“c ‘¾˜Y035,20191118,02,20200110,20200101,20221231 +0300058558 ,ŽR“c ‘¾˜Y036,20191119,01,20200131,20191119,20201130 +0800154863 ,ŽR“c ‘¾˜Y037,20191119,01,20200117,20191119,20201130 +0800127807 ,ŽR“c ‘¾˜Y038,20191120,01,20200110,20191120,20201130 +0300041159 ,ŽR“c ‘¾˜Y039,20191121,10,20200124,20191121,20201130 +0800226988 ,ŽR“c ‘¾˜Y040,20191121,05,20200110,20191121,20201130 +0100120879 ,ŽR“c ‘¾˜Y041,20191122,01,20200110,20191122,20201130 +0300002595 ,ŽR“c ‘¾˜Y042,20191122,01,20200117,20191122,20201130 +0800116082 ,ŽR“c ‘¾˜Y043,20191122,01,20200110,20191122,20201130 +0800144990 ,ŽR“c ‘¾˜Y044,20191122,01,20200110,, +0800176107 ,ŽR“c ‘¾˜Y045,20191122,01,20200110,20191122,20201130 +0200022920 ,ŽR“c ‘¾˜Y046,20191125,01,20200117,20191125,20201130 +0200078136 ,ŽR“c ‘¾˜Y047,20191125,01,20200117,20191125,20201130 +0300022979 ,ŽR“c ‘¾˜Y048,20191125,01,20200110,20191125,20201130 +0300073816 ,ŽR“c ‘¾˜Y049,20191125,02,20200110,20200101,20221231 +0300111963 ,ŽR“c ‘¾˜Y050,20191125,01,20200124,20191125,20201130 +0800116490 ,ŽR“c ‘¾˜Y051,20191125,01,20200117,20191125,20201130 +0800133688 ,ŽR“c ‘¾˜Y052,20191125,01,20200110,20191125,20201130 +0800077214 ,ŽR“c ‘¾˜Y053,20191126,01,20200110,20191126,20201130 +0800261716 ,ŽR“c ‘¾˜Y054,20191126,01,20200110,20191126,20201130 +0800290449 ,ŽR“c ‘¾˜Y055,20191126,05,20200117,20191126,20201130 +0800302137 ,ŽR“c ‘¾˜Y056,20191126,02,20200110,20200101,20221231 +0100003732 ,ŽR“c ‘¾˜Y057,20191127,05,20200110,20191127,20201130 +0200073096 ,ŽR“c ‘¾˜Y058,20191127,01,20200110,20191127,20201130 +0300099866 ,ŽR“c ‘¾˜Y059,20191127,01,20200117,20191127,20201130 +0300137245 ,ŽR“c ‘¾˜Y060,20191127,01,20200117,20191127,20201130 +0800287847 ,ŽR“c ‘¾˜Y061,20191127,01,20200117,20191127,20201130 +0800355419 ,ŽR“c ‘¾˜Y062,20191127,01,20200117,20191127,20201130 +0300090753 ,ŽR“c ‘¾˜Y063,20191128,01,20200117,20191128,20201130 +0300091733 ,ŽR“c ‘¾˜Y064,20191128,01,20200110,20191128,20201130 +0300102034 ,ŽR“c ‘¾˜Y065,20191128,01,20200124,20191128,20201130 +0300123759 ,ŽR“c ‘¾˜Y066,20191128,01,20200117,20191128,20201130 +0800095204 ,ŽR“c ‘¾˜Y067,20191128,01,20200110,20191128,20201130 +0100014912 ,ŽR“c ‘¾˜Y068,20191129,02,20200110,20200101,20221231 +0300049966 ,ŽR“c ‘¾˜Y069,20191129,02,20200117,20191201,20221130 +0800018021 ,ŽR“c ‘¾˜Y070,20191129,05,20200117,20191129,20201130 +0800056462 ,ŽR“c ‘¾˜Y071,20191129,01,20200110,20191129,20201130 +0800122112 ,ŽR“c ‘¾˜Y072,20191129,01,20200110,20191129,20201130 +0800221358 ,ŽR“c ‘¾˜Y073,20191129,02,20200117,20200101,20201231 +0800458803 ,ŽR“c ‘¾˜Y074,20191129,01,20200117,20191129,20201130 +0800490049 ,ŽR“c ‘¾˜Y075,20191129,01,20200110,20191129,20201130 +0100011000 ,ŽR“c ‘¾˜Y076,20191201,05,20200110,20191201,20201130 +0100017466 ,ŽR“c ‘¾˜Y077,20191201,10,20200110,20191201,20201130 +0100028719 ,ŽR“c ‘¾˜Y078,20191201,10,20200110,20191201,20201130 +0100062275 ,ŽR“c ‘¾˜Y079,20191201,05,20200110,20191201,20201130 +0100115557 ,ŽR“c ‘¾˜Y080,20191201,10,20200110,20191201,20201130 +0200045807 ,ŽR“c ‘¾˜Y081,20191201,10,20200110,20191201,20201130 +0200090373 ,ŽR“c ‘¾˜Y082,20191201,10,20200124,20191201,20201130 +0200100301 ,ŽR“c ‘¾˜Y083,20191201,10,20200124,20191201,20201130 +0300028829 ,ŽR“c ‘¾˜Y084,20191201,05,20200131,20191201,20201130 +0300069258 ,ŽR“c ‘¾˜Y085,20191201,10,20200131,20191201,20201130 +0300069746 ,ŽR“c ‘¾˜Y086,20191201,05,20200110,20191201,20201130 +0300112412 ,ŽR“c ‘¾˜Y087,20191201,05,20200117,20191201,20201130 +0300116426 ,ŽR“c ‘¾˜Y088,20191201,05,20200117,20191201,20201130 +0800007259 ,ŽR“c ‘¾˜Y089,20191201,01,20200110,20191201,20201130 +0800018013 ,ŽR“c ‘¾˜Y090,20191201,05,20200110,20191201,20201130 +0800028256 ,ŽR“c ‘¾˜Y091,20191201,10,20200110,20191201,20201130 +0800053765 ,ŽR“c ‘¾˜Y092,20191201,05,20200110,20191201,20201130 +0800055571 ,ŽR“c ‘¾˜Y093,20191201,05,20200110,20191201,20201130 +0800059755 ,ŽR“c ‘¾˜Y094,20191201,05,20200110,20191201,20201130 +0800068398 ,ŽR“c ‘¾˜Y095,20191201,05,20200110,20191201,20201130 +0800077176 ,ŽR“c ‘¾˜Y096,20191201,05,20200110,20191201,20201130 +0800080754 ,ŽR“c ‘¾˜Y097,20191201,10,20200110,20191201,20201130 +0800091110 ,ŽR“c ‘¾˜Y098,20191201,05,20200117,20191201,20201130 +0800100380 ,ŽR“c ‘¾˜Y99,20191201,10,20200110,20191201,20201130 +0800102863 ,ŽR“c ‘¾˜Y100,20191201,05,20200110,20191201,20201130 +0800108551 ,ŽR“c ‘¾˜Y101,20191201,10,20200110,20191201,20201130 +0800131405 ,ŽR“c ‘¾˜Y102,20191201,10,20200117,20191201,20201130 +0800135125 ,ŽR“c ‘¾˜Y103,20191201,10,20200110,20191201,20201130 +0800135249 ,ŽR“c ‘¾˜Y104,20191201,10,20200110,20191201,20201130 +0800136466 ,ŽR“c ‘¾˜Y105,20191201,05,20200110,20191201,20201130 +0800137110 ,ŽR“c ‘¾˜Y106,20191201,05,20200110,20191201,20201130 +0800190517 ,ŽR“c ‘¾˜Y107,20191201,05,20200117,20191201,20201130 +0800231027 ,ŽR“c ‘¾˜Y108,20191201,05,20200131,20191201,20201130 +0800233593 ,ŽR“c ‘¾˜Y109,20191201,10,20200110,20191201,20201130 +0800265100 ,ŽR“c ‘¾˜Y110,20191201,05,20200110,20191201,20201130 +0800348757 ,ŽR“c ‘¾˜Y111,20191201,01,20200110,20191201,20201130 +0800361761 ,ŽR“c ‘¾˜Y112,20191201,01,20200131,20191201,20201130 +0800401208 ,ŽR“c ‘¾˜Y113,20191201,01,20200117,20191201,20201130 +0800427720 ,ŽR“c ‘¾˜Y114,20191201,10,20200117,20191201,20201130 +0800458692 ,ŽR“c ‘¾˜Y115,20191201,05,20200117,20191201,20201130 +0100003708 ,ŽR“c ‘¾˜Y116,20191202,05,20200110,20191202,20201231 +0100023806 ,ŽR“c ‘¾˜Y117,20191202,05,20200124,20191202,20201231 +0100040859 ,ŽR“c ‘¾˜Y118,20191202,01,20200110,20191202,20201231 +0100053101 ,ŽR“c ‘¾˜Y119,20191202,01,20200110,20191202,20201231 +0100058766 ,ŽR“c ‘¾˜Y120,20191202,05,20200117,20191202,20201231 +0100059118 ,ŽR“c ‘¾˜Y121,20191202,05,20200110,20191202,20201231 +0100091569 ,ŽR“c ‘¾˜Y122,20191202,02,20200110,20200201,20230131 +0100092603 ,ŽR“c ‘¾˜Y123,20191202,01,20200110,20191202,20201231 +0100092883 ,ŽR“c ‘¾˜Y124,20191202,02,20200110,20200201,20230131 +0100113228 ,ŽR“c ‘¾˜Y125,20191202,01,20200110,20191202,20201231 +0200018699 ,ŽR“c ‘¾˜Y126,20191202,02,20200124,20200201,20230131 +0200020057 ,ŽR“c ‘¾˜Y127,20191202,01,20200110,20191202,20201231 +0200051238 ,ŽR“c ‘¾˜Y128,20191202,02,20200110,20200101,20221231 +0200064224 ,ŽR“c ‘¾˜Y129,20191202,01,20200110,20191202,20201231 +0200084993 ,ŽR“c ‘¾˜Y130,20191202,02,20200124,20200201,20230131 +0200096169 ,ŽR“c ‘¾˜Y131,20191202,02,20200110,20200201,20230131 +0300005381 ,ŽR“c ‘¾˜Y132,20191202,02,20200117,20200201,20230131 +0300005420 ,ŽR“c ‘¾˜Y133,20191202,02,20200124,20200201,20230131 +0300008020 ,ŽR“c ‘¾˜Y134,20191202,02,20200124,20200201,20230131 +0300017568 ,ŽR“c ‘¾˜Y135,20191202,02,20200117,20200201,20230131 +0300021832 ,ŽR“c ‘¾˜Y136,20191202,02,20200117,20200201,20230131 +0300031455 ,ŽR“c ‘¾˜Y137,20191202,02,20200124,20200201,20230131 +0300032648 ,ŽR“c ‘¾˜Y138,20191202,02,20200117,20200201,20230131 +0300043003 ,ŽR“c ‘¾˜Y139,20191202,02,20200117,20200201,20230131 +0300121438 ,ŽR“c ‘¾˜Y140,20191202,02,20200117,20200201,20230131 +0300121691 ,ŽR“c ‘¾˜Y141,20191202,02,20200117,20200201,20230131 +0800012651 ,ŽR“c ‘¾˜Y142,20191202,02,20200110,20200201,20230131 +0800013275 ,ŽR“c ‘¾˜Y143,20191202,02,20200110,20200201,20230131 +0800016592 ,ŽR“c ‘¾˜Y144,20191202,02,20200117,20200201,20230131 +0800034086 ,ŽR“c ‘¾˜Y145,20191202,02,20200110,20200201,20230131 +0800065240 ,ŽR“c ‘¾˜Y146,20191202,02,20200117,20200201,20230131 +0800107148 ,ŽR“c ‘¾˜Y147,20191202,01,20200110,20191202,20201231 +0800109981 ,ŽR“c ‘¾˜Y148,20191202,02,20200110,20200201,20210131 +0800115574 ,ŽR“c ‘¾˜Y149,20191202,01,20200110,20191202,20201231 +0800128552 ,ŽR“c ‘¾˜Y150,20191202,01,20200117,20191202,20201231 +0800137012 ,ŽR“c ‘¾˜Y151,20191202,02,20200117,20200201,20230131 +0800140684 ,ŽR“c ‘¾˜Y152,20191202,02,20200117,20200201,20210131 +0800142253 ,ŽR“c ‘¾˜Y153,20191202,02,20200124,20200201,20230131 +0800146089 ,ŽR“c ‘¾˜Y154,20191202,02,20200110,20200201,20230131 +0800156270 ,ŽR“c ‘¾˜Y155,20191202,02,20200124,20200201,20230131 +0800162920 ,ŽR“c ‘¾˜Y156,20191202,01,20200131,20191202,20201231 +0800189705 ,ŽR“c ‘¾˜Y157,20191202,05,20200117,20191202,20201231 +0800191068 ,ŽR“c ‘¾˜Y158,20191202,01,20200110,20191202,20201231 +0800197694 ,ŽR“c ‘¾˜Y159,20191202,02,20200110,20200201,20230131 +0800202850 ,ŽR“c ‘¾˜Y160,20191202,02,20200110,20200201,20230131 +0800215935 ,ŽR“c ‘¾˜Y161,20191202,02,20200110,20200201,20230131 +0800229650 ,ŽR“c ‘¾˜Y162,20191202,01,20200110,20191202,20201231 +0800229898 ,ŽR“c ‘¾˜Y163,20191202,05,20200110,20191202,20201231 +0800233801 ,ŽR“c ‘¾˜Y164,20191202,02,20200110,20200201,20230131 +0800257743 ,ŽR“c ‘¾˜Y165,20191202,01,20200110,20191202,20201231 +0800271495 ,ŽR“c ‘¾˜Y166,20191202,02,20200110,20200201,20230131 +0800277167 ,ŽR“c ‘¾˜Y167,20191202,02,20200117,20200201,20230131 +0800318122 ,ŽR“c ‘¾˜Y168,20191202,01,20200110,20191202,20201231 +0800328179 ,ŽR“c ‘¾˜Y169,20191202,01,20200131,, +0800368944 ,ŽR“c ‘¾˜Y170,20191202,02,20200110,20200201,20230131 +0800370434 ,ŽR“c ‘¾˜Y171,20191202,02,20200110,20200201,20230131 +0800400643 ,ŽR“c ‘¾˜Y172,20191202,02,20200110,20200201,20230131 +0100012073 ,ŽR“c ‘¾˜Y173,20191203,02,20200131,20200201,20230131 +0200001176 ,ŽR“c ‘¾˜Y174,20191203,01,20200110,20191203,20200630 +0200005171 ,ŽR“c ‘¾˜Y175,20191203,02,20200110,20200201,20230131 +0200023820 ,ŽR“c ‘¾˜Y176,20191203,05,20200117,20191203,20201231 +0200029151 ,ŽR“c ‘¾˜Y177,20191203,02,20200124,20200201,20230131 +0200053281 ,ŽR“c ‘¾˜Y178,20191203,10,20200117,20191203,20201231 +0200063880 ,ŽR“c ‘¾˜Y179,20191203,02,20200124,20200201,20230131 +0200067134 ,ŽR“c ‘¾˜Y180,20191203,02,20200124,20200201,20220131 +0200091736 ,ŽR“c ‘¾˜Y181,20191203,02,20200110,20200201,20230131 +0200091833 ,ŽR“c ‘¾˜Y182,20191203,02,20200110,20200201,20230131 +0200098919 ,ŽR“c ‘¾˜Y183,20191203,02,20200124,20200201,20230131 +0200099877 ,ŽR“c ‘¾˜Y184,20191203,02,20200124,20200201,20230131 +0200100000 ,ŽR“c ‘¾˜Y185,20191203,02,20200110,20200201,20230131 +0200101979 ,ŽR“c ‘¾˜Y186,20191203,02,20200110,20200201,20230131 +0200102088 ,ŽR“c ‘¾˜Y187,20191203,01,20200117,20191203,20201231 +0300007368 ,ŽR“c ‘¾˜Y188,20191203,05,20200110,20191203,20201231 +0300044492 ,ŽR“c ‘¾˜Y189,20191203,02,20200124,20200201,20230131 +0300096484 ,ŽR“c ‘¾˜Y190,20191203,05,20200131,20191203,20201231 +0300097103 ,ŽR“c ‘¾˜Y191,20191203,02,20200124,20200201,20230131 +0300100066 ,ŽR“c ‘¾˜Y192,20191203,02,20200131,20200201,20230131 +0300101682 ,ŽR“c ‘¾˜Y193,20191203,02,20200124,20200201,20230131 +0300113745 ,ŽR“c ‘¾˜Y194,20191203,02,20200124,20200201,20230131 +0300120296 ,ŽR“c ‘¾˜Y195,20191203,02,20200117,20200201,20230131 +0300133673 ,ŽR“c ‘¾˜Y196,20191203,02,20200117,20200101,20201231 +0300135250 ,ŽR“c ‘¾˜Y197,20191203,02,20200124,20200201,20230131 +0300148395 ,ŽR“c ‘¾˜Y198,20191203,02,20200124,20200201,20230131 +0800003415 ,ŽR“c ‘¾˜Y199,20191203,01,20200110,20191203,20201231 +0800046831 ,ŽR“c ‘¾˜Y200,20191203,02,20200110,20200201,20230131 +0800057663 ,ŽR“c ‘¾˜Y201,20191203,02,20200124,20200201,20230131 +0800110726 ,ŽR“c ‘¾˜Y202,20191203,01,20200110,20191203,20201231 +0800131111 ,ŽR“c ‘¾˜Y203,20191203,02,20200110,20200201,20230131 +0800138744 ,ŽR“c ‘¾˜Y204,20191203,02,20200131,20200201,20230131 +0800185483 ,ŽR“c ‘¾˜Y205,20191203,01,20200117,20191203,20201231 +0800195276 ,ŽR“c ‘¾˜Y206,20191203,02,20200131,20200201,20230131 +0800207916 ,ŽR“c ‘¾˜Y207,20191203,02,20200110,20200101,20221231 +0800391520 ,ŽR“c ‘¾˜Y208,20191203,02,20200110,20200201,20230131 +0100000873 ,ŽR“c ‘¾˜Y209,20191204,02,20200117,20200201,20230131 +0100006197 ,ŽR“c ‘¾˜Y210,20191204,02,20200110,20200201,20230131 +0100014416 ,ŽR“c ‘¾˜Y211,20191204,02,20200117,20200201,20230131 +0100027313 ,ŽR“c ‘¾˜Y212,20191204,02,20200124,20200201,20230131 +0100027658 ,ŽR“c ‘¾˜Y213,20191204,02,20200117,20200201,20210131 +0100031370 ,ŽR“c ‘¾˜Y214,20191204,02,20200117,20200201,20210131 +0100042339 ,ŽR“c ‘¾˜Y215,20191204,02,20200124,20200201,20230131 +0100044102 ,ŽR“c ‘¾˜Y216,20191204,02,20200124,20200201,20230131 +0100052512 ,ŽR“c ‘¾˜Y217,20191204,10,20200110,20191204,20201231 +0100060671 ,ŽR“c ‘¾˜Y218,20191204,05,20200110,20191204,20201231 +0100066980 ,ŽR“c ‘¾˜Y219,20191204,02,20200117,20200201,20230131 +0100068443 ,ŽR“c ‘¾˜Y220,20191204,02,20200117,20200201,20230131 +0100073714 ,ŽR“c ‘¾˜Y221,20191204,02,20200110,20200201,20230131 +0100077310 ,ŽR“c ‘¾˜Y222,20191204,02,20200117,20200201,20230131 +0100087952 ,ŽR“c ‘¾˜Y223,20191204,02,20200124,20200201,20230131 +0100092190 ,ŽR“c ‘¾˜Y224,20191204,01,20200110,20191204,20201231 +0100092212 ,ŽR“c ‘¾˜Y225,20191204,01,20200110,20191204,20201231 +0100096153 ,ŽR“c ‘¾˜Y226,20191204,02,20200124,20200201,20230131 +0100101416 ,ŽR“c ‘¾˜Y227,20191204,02,20200124,20200201,20230131 +0100104920 ,ŽR“c ‘¾˜Y228,20191204,01,20200117,20191204,20201231 +0100109816 ,ŽR“c ‘¾˜Y229,20191204,02,20200124,20200201,20230131 +0100111152 ,ŽR“c ‘¾˜Y230,20191204,02,20200131,20200201,20230131 +0100111470 ,ŽR“c ‘¾˜Y231,20191204,02,20200124,20200201,20230131 +0100117037 ,ŽR“c ‘¾˜Y232,20191204,02,20200124,20200201,20230131 +0100121603 ,ŽR“c ‘¾˜Y233,20191204,02,20200124,20200201,20230131 +0100124041 ,ŽR“c ‘¾˜Y234,20191204,02,20200124,20200201,20230131 +0100124211 ,ŽR“c ‘¾˜Y235,20191204,01,20200110,20191204,20201231 +0100127024 ,ŽR“c ‘¾˜Y236,20191204,01,20200110,20191204,20201231 +0200006020 ,ŽR“c ‘¾˜Y237,20191204,02,20200117,20200201,20230131 +0200020235 ,ŽR“c ‘¾˜Y238,20191204,02,20200117,20200201,20230131 +0200026420 ,ŽR“c ‘¾˜Y239,20191204,10,20200110,20191204,20201231 +0200032683 ,ŽR“c ‘¾˜Y240,20191204,02,20200110,20200201,20230131 +0200045483 ,ŽR“c ‘¾˜Y241,20191204,02,20200124,20200201,20230131 +0200052013 ,ŽR“c ‘¾˜Y242,20191204,02,20200124,20200201,20230131 +0200065697 ,ŽR“c ‘¾˜Y243,20191204,02,20200124,20200201,20230131 +0200066537 ,ŽR“c ‘¾˜Y244,20191204,01,20200110,20191204,20201231 +0200087100 ,ŽR“c ‘¾˜Y245,20191204,02,20200124,20200201,20230131 +0200093151 ,ŽR“c ‘¾˜Y246,20191204,02,20200117,20200201,20230131 +0200099320 ,ŽR“c ‘¾˜Y247,20191204,02,20200124,20200201,20230131 +0200100085 ,ŽR“c ‘¾˜Y248,20191204,02,20200124,20200201,20230131 +0200100476 ,ŽR“c ‘¾˜Y249,20191204,02,20200124,20200201,20230131 +0200102177 ,ŽR“c ‘¾˜Y250,20191204,02,20200110,20200201,20220131 +0200104463 ,ŽR“c ‘¾˜Y251,20191204,02,20200110,20200201,20230131 +0200106121 ,ŽR“c ‘¾˜Y252,20191204,02,20200124,20200201,20230131 +0300001211 ,ŽR“c ‘¾˜Y253,20191204,02,20200117,20200201,20230131 +0300002870 ,ŽR“c ‘¾˜Y254,20191204,05,20200131,20191204,20200630 +0300009638 ,ŽR“c ‘¾˜Y255,20191204,02,20200124,20200201,20230131 +0300023134 ,ŽR“c ‘¾˜Y256,20191204,02,20200131,20200201,20230131 +0300029264 ,ŽR“c ‘¾˜Y257,20191204,02,20200131,20200201,20230131 +0300036848 ,ŽR“c ‘¾˜Y258,20191204,02,20200131,20200201,20230131 +0300038859 ,ŽR“c ‘¾˜Y259,20191204,02,20200131,20200201,20230131 +0300043461 ,ŽR“c ‘¾˜Y260,20191204,02,20200131,20200201,20230131 +0300050310 ,ŽR“c ‘¾˜Y261,20191204,02,20200124,20200201,20230131 +0300054838 ,ŽR“c ‘¾˜Y262,20191204,02,20200131,20200201,20230131 +0300062520 ,ŽR“c ‘¾˜Y263,20191204,02,20200124,20200201,20230131 +0300070779 ,ŽR“c ‘¾˜Y264,20191204,02,20200110,20200201,20230131 +0300074510 ,ŽR“c ‘¾˜Y265,20191204,01,20200117,20191204,20201231 +0300074910 ,ŽR“c ‘¾˜Y266,20191204,02,20200110,20200201,20230131 +0300075177 ,ŽR“c ‘¾˜Y267,20191204,02,20200117,20200201,20230131 +0300077994 ,ŽR“c ‘¾˜Y268,20191204,02,20200110,20200201,20230131 +0300078915 ,ŽR“c ‘¾˜Y269,20191204,02,20200117,20200201,20230131 +0300079768 ,ŽR“c ‘¾˜Y270,20191204,02,20200110,20200201,20230131 +0300081010 ,ŽR“c ‘¾˜Y271,20191204,02,20200124,20200201,20230131 +0300082726 ,ŽR“c ‘¾˜Y272,20191204,02,20200117,20200201,20210131 +0300088902 ,ŽR“c ‘¾˜Y273,20191204,02,20200110,20200201,20230131 +0300089771 ,ŽR“c ‘¾˜Y274,20191204,02,20200124,20200201,20230131 +0300096115 ,ŽR“c ‘¾˜Y275,20191204,02,20200124,20200201,20230131 +0300099580 ,ŽR“c ‘¾˜Y276,20191204,02,20200124,20200201,20230131 +0300107680 ,ŽR“c ‘¾˜Y277,20191204,02,20200131,20200201,20230131 +0300111300 ,ŽR“c ‘¾˜Y278,20191204,02,20200117,20200201,20230131 +0300115314 ,ŽR“c ‘¾˜Y279,20191204,05,20200117,20191204,20201231 +0300128726 ,ŽR“c ‘¾˜Y280,20191204,02,20200131,20200201,20230131 +0300130860 ,ŽR“c ‘¾˜Y281,20191204,02,20200117,20200201,20230131 +0300146112 ,ŽR“c ‘¾˜Y282,20191204,02,20200117,20200201,20230131 +0800010977 ,ŽR“c ‘¾˜Y283,20191204,02,20200117,20200201,20230131 +0800015650 ,ŽR“c ‘¾˜Y284,20191204,02,20200117,20200201,20230131 +0800027160 ,ŽR“c ‘¾˜Y285,20191204,02,20200117,20200201,20230131 +0800042283 ,ŽR“c ‘¾˜Y286,20191204,02,20200117,20200201,20230131 +0800048737 ,ŽR“c ‘¾˜Y287,20191204,02,20200110,20200201,20230131 +0800066107 ,ŽR“c ‘¾˜Y288,20191204,02,20200117,20200201,20230131 +0800070228 ,ŽR“c ‘¾˜Y289,20191204,02,20200117,20200201,20210131 +0800073898 ,ŽR“c ‘¾˜Y290,20191204,02,20200117,20200201,20230131 +0800080118 ,ŽR“c ‘¾˜Y291,20191204,02,20200117,20200201,20230131 +0800084571 ,ŽR“c ‘¾˜Y292,20191204,02,20200110,20200201,20230131 +0800087112 ,ŽR“c ‘¾˜Y293,20191204,02,20200117,20200201,20230131 +0800088534 ,ŽR“c ‘¾˜Y294,20191204,02,20200124,20200201,20230131 +0800092744 ,ŽR“c ‘¾˜Y295,20191204,02,20200110,20200201,20230131 +0800094968 ,ŽR“c ‘¾˜Y296,20191204,02,20200124,20200201,20230131 +0800095727 ,ŽR“c ‘¾˜Y297,20191204,01,20200117,20191204,20201231 +0800101930 ,ŽR“c ‘¾˜Y298,20191204,02,20200124,20200201,20230131 +0800102421 ,ŽR“c ‘¾˜Y299,20191204,02,20200117,20200101,20221231 +0800102774 ,ŽR“c ‘¾˜Y300,20191204,01,20200110,20191204,20201231 +0800115302 ,ŽR“c ‘¾˜Y301,20191204,02,20200124,20200201,20230131 +0800116074 ,ŽR“c ‘¾˜Y302,20191204,02,20200117,20200201,20230131 +0800137551 ,ŽR“c ‘¾˜Y303,20191204,02,20200124,20200201,20230131 +0800149371 ,ŽR“c ‘¾˜Y304,20191204,02,20200124,20200201,20230131 +0800159881 ,ŽR“c ‘¾˜Y305,20191204,02,20200117,20200201,20230131 +0800161444 ,ŽR“c ‘¾˜Y306,20191204,02,20200124,20200201,20230131 +0800169178 ,ŽR“c ‘¾˜Y307,20191204,02,20200124,20200201,20220131 +0800174040 ,ŽR“c ‘¾˜Y308,20191204,02,20200110,20200201,20230131 +0800185300 ,ŽR“c ‘¾˜Y309,20191204,02,20200124,20200201,20230131 +0800186153 ,ŽR“c ‘¾˜Y310,20191204,02,20200124,20200201,20230131 +0800186994 ,ŽR“c ‘¾˜Y311,20191204,02,20200124,20200201,20220131 +0800196132 ,ŽR“c ‘¾˜Y312,20191204,02,20200131,20200201,20230131 +0800207975 ,ŽR“c ‘¾˜Y313,20191204,02,20200110,20200201,20230131 +0800210232 ,ŽR“c ‘¾˜Y314,20191204,02,20200131,20200201,20230131 +0800228530 ,ŽR“c ‘¾˜Y315,20191204,02,20200124,20200201,20230131 +0800234409 ,ŽR“c ‘¾˜Y316,20191204,02,20200110,20200201,20210131 +0800242622 ,ŽR“c ‘¾˜Y317,20191204,02,20200117,20200201,20230131 +0800251389 ,ŽR“c ‘¾˜Y318,20191204,02,20200110,20200201,20220131 +0800251583 ,ŽR“c ‘¾˜Y319,20191204,02,20200117,20200201,20220131 +0800252474 ,ŽR“c ‘¾˜Y320,20191204,02,20200124,20200201,20210131 +0800277159 ,ŽR“c ‘¾˜Y321,20191204,02,20200117,20200201,20220131 +0800328659 ,ŽR“c ‘¾˜Y322,20191204,02,20200124,20200201,20230131 +0800357373 ,ŽR“c ‘¾˜Y323,20191204,02,20200131,20200201,20230131 +0800372623 ,ŽR“c ‘¾˜Y324,20191204,02,20200117,20200201,20230131 +0800401666 ,ŽR“c ‘¾˜Y325,20191204,02,20200117,20200201,20220131 +0800406005 ,ŽR“c ‘¾˜Y326,20191204,01,20200117,20191204,20201231 +0800416647 ,ŽR“c ‘¾˜Y327,20191204,01,20200110,20191204,20201231 +0800420024 ,ŽR“c ‘¾˜Y328,20191204,02,20200117,20200201,20230131 +0800432928 ,ŽR“c ‘¾˜Y329,20191204,01,20200110,20191204,20201231 +0800434777 ,ŽR“c ‘¾˜Y330,20191204,02,20200124,20200201,20230131 +0800482330 ,ŽR“c ‘¾˜Y331,20191204,02,20200110,20200201,20230131 +0100001250 ,ŽR“c ‘¾˜Y332,20191205,02,20200124,20200201,20230131 +0100002175 ,ŽR“c ‘¾˜Y333,20191205,02,20200124,20200201,20230131 +0100002868 ,ŽR“c ‘¾˜Y334,20191205,02,20200117,20200201,20220131 +0100008823 ,ŽR“c ‘¾˜Y335,20191205,02,20200124,20200201,20230131 +0100013657 ,ŽR“c ‘¾˜Y336,20191205,02,20200124,20200201,20230131 +0100016931 ,ŽR“c ‘¾˜Y337,20191205,02,20200124,20200201,20230131 +0100020610 ,ŽR“c ‘¾˜Y338,20191205,02,20200124,20200201,20230131 +0100022630 ,ŽR“c ‘¾˜Y339,20191205,02,20200124,20200201,20230131 +0100034182 ,ŽR“c ‘¾˜Y340,20191205,02,20200124,20200201,20230131 +0100043726 ,ŽR“c ‘¾˜Y341,20191205,02,20200124,20200201,20230131 +0100058677 ,ŽR“c ‘¾˜Y342,20191205,02,20200131,20200201,20230131 +0100063328 ,ŽR“c ‘¾˜Y343,20191205,02,20200124,20200201,20230131 +0100076497 ,ŽR“c ‘¾˜Y344,20191205,02,20200110,20200201,20230131 +0100084139 ,ŽR“c ‘¾˜Y345,20191205,02,20200131,20200201,20230131 +0100088223 ,ŽR“c ‘¾˜Y346,20191205,02,20200117,20200201,20230131 +0100111195 ,ŽR“c ‘¾˜Y347,20191205,02,20200124,20200201,20230131 +0100116251 ,ŽR“c ‘¾˜Y348,20191205,02,20200124,20200201,20230131 +0100122944 ,ŽR“c ‘¾˜Y349,20191205,02,20200124,20200201,20230131 +0100123673 ,ŽR“c ‘¾˜Y350,20191205,02,20200124,20200201,20230131 +0200005457 ,ŽR“c ‘¾˜Y351,20191205,02,20200124,20200201,20220131 +0200013166 ,ŽR“c ‘¾˜Y352,20191205,02,20200124,20200201,20230131 +0200013662 ,ŽR“c ‘¾˜Y353,20191205,02,20200124,20200201,20230131 +0200016815 ,ŽR“c ‘¾˜Y354,20191205,02,20200124,20200201,20230131 +0200043570 ,ŽR“c ‘¾˜Y355,20191205,02,20200124,20200201,20230131 +0200068939 ,ŽR“c ‘¾˜Y356,20191205,02,20200117,20200201,20230131 +0200072839 ,ŽR“c ‘¾˜Y357,20191205,02,20200117,20200201,20230131 +0200076273 ,ŽR“c ‘¾˜Y358,20191205,02,20200124,20200201,20230131 +0200082893 ,ŽR“c ‘¾˜Y359,20191205,02,20200124,20200201,20230131 +0200087470 ,ŽR“c ‘¾˜Y360,20191205,02,20200124,20200201,20210131 +0200090195 ,ŽR“c ‘¾˜Y361,20191205,02,20200117,20200201,20230131 +0300002102 ,ŽR“c ‘¾˜Y362,20191205,02,20200124,20200201,20230131 +0300007139 ,ŽR“c ‘¾˜Y363,20191205,02,20200131,20200201,20210131 +0300023053 ,ŽR“c ‘¾˜Y364,20191205,02,20200131,20200201,20230131 +0300045626 ,ŽR“c ‘¾˜Y365,20191205,02,20200131,20200201,20230131 +0300047432 ,ŽR“c ‘¾˜Y366,20191205,02,20200124,20200201,20230131 +0300049672 ,ŽR“c ‘¾˜Y367,20191205,02,20200124,20200201,20230131 +0300052584 ,ŽR“c ‘¾˜Y368,20191205,02,20200131,20200201,20230131 +0300064264 ,ŽR“c ‘¾˜Y369,20191205,02,20200117,20200201,20230131 +0300067409 ,ŽR“c ‘¾˜Y370,20191205,02,20200131,20200201,20230131 +0300078877 ,ŽR“c ‘¾˜Y371,20191205,02,20200117,20200201,20230131 +0300098630 ,ŽR“c ‘¾˜Y372,20191205,02,20200131,20200201,20230131 +0300112510 ,ŽR“c ‘¾˜Y373,20191205,02,20200124,20200201,20230131 +0300113575 ,ŽR“c ‘¾˜Y374,20191205,02,20200124,20200201,20230131 +0300124305 ,ŽR“c ‘¾˜Y375,20191205,02,20200131,20200201,20230131 +0300125697 ,ŽR“c ‘¾˜Y376,20191205,02,20200124,20200201,20230131 +0300125875 ,ŽR“c ‘¾˜Y377,20191205,02,20200124,20200201,20230131 +0300128378 ,ŽR“c ‘¾˜Y378,20191205,02,20200131,20200101,20221231 +0300132227 ,ŽR“c ‘¾˜Y379,20191205,02,20200124,20200201,20230131 +0300133320 ,ŽR“c ‘¾˜Y380,20191205,02,20200131,20200201,20230131 +0300141722 ,ŽR“c ‘¾˜Y381,20191205,02,20200124,20200201,20230131 +0300147623 ,ŽR“c ‘¾˜Y382,20191205,02,20200124,20200201,20230131 +0300148166 ,ŽR“c ‘¾˜Y383,20191205,02,20200124,20200201,20230131 +0800008131 ,ŽR“c ‘¾˜Y384,20191205,02,20200117,20200201,20220131 +0800018323 ,ŽR“c ‘¾˜Y385,20191205,02,20200117,20200201,20230131 +0800057051 ,ŽR“c ‘¾˜Y386,20191205,02,20200124,20200201,20230131 +0800066450 ,ŽR“c ‘¾˜Y387,20191205,02,20200117,20200201,20230131 +0800070457 ,ŽR“c ‘¾˜Y388,20191205,02,20200124,20200201,20220131 +0800079969 ,ŽR“c ‘¾˜Y389,20191205,02,20200117,20200201,20230131 +0800083737 ,ŽR“c ‘¾˜Y390,20191205,05,20200117,20191205,20201231 +0800085802 ,ŽR“c ‘¾˜Y391,20191205,02,20200131,20200201,20230131 +0800092752 ,ŽR“c ‘¾˜Y392,20191205,02,20200124,20200201,20230131 +0800093635 ,ŽR“c ‘¾˜Y393,20191205,02,20200117,20200201,20230131 +0800098122 ,ŽR“c ‘¾˜Y394,20191205,02,20200131,20200201,20230131 +0800112869 ,ŽR“c ‘¾˜Y395,20191205,02,20200131,20200201,20230131 +0800115086 ,ŽR“c ‘¾˜Y396,20191205,02,20200124,20200201,20230131 +0800120608 ,ŽR“c ‘¾˜Y397,20191205,02,20200131,20200201,20230131 +0800129940 ,ŽR“c ‘¾˜Y398,20191205,02,20200117,20200201,20230131 +0800152178 ,ŽR“c ‘¾˜Y399,20191205,02,20200131,20200201,20230131 +0800155649 ,ŽR“c ‘¾˜Y400,20191205,02,20200124,20200201,20230131 +0800160790 ,ŽR“c ‘¾˜Y401,20191205,01,20200131,20191205,20201231 +0800166934 ,ŽR“c ‘¾˜Y402,20191205,02,20200124,20200201,20230131 +0800167000 ,ŽR“c ‘¾˜Y403,20191205,02,20200124,20200201,20230131 +0800169836 ,ŽR“c ‘¾˜Y404,20191205,02,20200131,20200201,20230131 +0800172365 ,ŽR“c ‘¾˜Y405,20191205,05,20200117,20191205,20201231 +0800190436 ,ŽR“c ‘¾˜Y406,20191205,02,20200124,20200201,20230131 +0800202523 ,ŽR“c ‘¾˜Y407,20191205,02,20200124,20200201,20230131 +0800214564 ,ŽR“c ‘¾˜Y408,20191205,02,20200131,20200101,20221231 +0800250188 ,ŽR“c ‘¾˜Y409,20191205,02,20200124,20200201,20230131 +0800252083 ,ŽR“c ‘¾˜Y410,20191205,02,20200124,20200201,20230131 +0800255660 ,ŽR“c ‘¾˜Y411,20191205,02,20200124,20200201,20230131 +0800267994 ,ŽR“c ‘¾˜Y412,20191205,02,20200124,20200201,20230131 +0800349443 ,ŽR“c ‘¾˜Y413,20191205,02,20200124,20200201,20230131 +0800393876 ,ŽR“c ‘¾˜Y414,20191205,02,20200117,20200201,20220131 +0800438438 ,ŽR“c ‘¾˜Y415,20191205,01,20200110,20191205,20201231 +0800493641 ,ŽR“c ‘¾˜Y416,20191205,09,20200124,20191205,20200630 +0100024160 ,ŽR“c ‘¾˜Y417,20191206,01,20200117,20191206,20201231 +0100038196 ,ŽR“c ‘¾˜Y418,20191206,02,20200124,20200201,20230131 +0100042762 ,ŽR“c ‘¾˜Y419,20191206,02,20200124,20200201,20230131 +0100059592 ,ŽR“c ‘¾˜Y420,20191206,02,20200124,20200201,20230131 +0100060817 ,ŽR“c ‘¾˜Y421,20191206,02,20200131,20200201,20230131 +0100061830 ,ŽR“c ‘¾˜Y422,20191206,02,20200117,20200201,20230131 +0100079780 ,ŽR“c ‘¾˜Y423,20191206,01,20200110,20191206,20201231 +0100083027 ,ŽR“c ‘¾˜Y424,20191206,02,20200124,20200201,20230131 +0100084171 ,ŽR“c ‘¾˜Y425,20191206,02,20200124,20200201,20220131 +0100098687 ,ŽR“c ‘¾˜Y426,20191206,02,20200131,20200201,20230131 +0100108321 ,ŽR“c ‘¾˜Y427,20191206,02,20200124,20200201,20230131 +0100110180 ,ŽR“c ‘¾˜Y428,20191206,02,20200124,20200201,20230131 +0100111870 ,ŽR“c ‘¾˜Y429,20191206,02,20200124,20200201,20230131 +0100114887 ,ŽR“c ‘¾˜Y430,20191206,02,20200131,20200201,20230131 +0100120933 ,ŽR“c ‘¾˜Y431,20191206,02,20200124,20200201,20230131 +0100123959 ,ŽR“c ‘¾˜Y432,20191206,02,20200131,20200201,20230131 +0200003829 ,ŽR“c ‘¾˜Y433,20191206,02,20200117,20200201,20230131 +0200008782 ,ŽR“c ‘¾˜Y434,20191206,02,20200131,20200201,20230131 +0200009410 ,ŽR“c ‘¾˜Y435,20191206,02,20200124,20200201,20220131 +0200016963 ,ŽR“c ‘¾˜Y436,20191206,02,20200124,20200201,20230131 +0200030346 ,ŽR“c ‘¾˜Y437,20191206,02,20200124,20200201,20230131 +0200039343 ,ŽR“c ‘¾˜Y438,20191206,02,20200124,20200201,20230131 +0200070364 ,ŽR“c ‘¾˜Y439,20191206,01,20200110,20191206,20201231 +0200072170 ,ŽR“c ‘¾˜Y440,20191206,02,20200124,20200201,20220131 +0200082800 ,ŽR“c ‘¾˜Y441,20191206,05,20200110,20191206,20201231 +0200082834 ,ŽR“c ‘¾˜Y442,20191206,02,20200124,20200201,20230131 +0200083024 ,ŽR“c ‘¾˜Y443,20191206,02,20200124,20200201,20230131 +0200085086 ,ŽR“c ‘¾˜Y444,20191206,02,20200117,20200201,20230131 +0200106288 ,ŽR“c ‘¾˜Y445,20191206,02,20200124,20200201,20230131 +0300001238 ,ŽR“c ‘¾˜Y446,20191206,02,20200124,20200201,20200731 +0300005209 ,ŽR“c ‘¾˜Y447,20191206,02,20200131,20200201,20230131 +0300028470 ,ŽR“c ‘¾˜Y448,20191206,02,20200131,20200201,20230131 +0300037496 ,ŽR“c ‘¾˜Y449,20191206,02,20200124,20200201,20230131 +0300037585 ,ŽR“c ‘¾˜Y450,20191206,02,20200124,20200201,20220131 +0300047610 ,ŽR“c ‘¾˜Y451,20191206,02,20200124,20200201,20230131 +0300047874 ,ŽR“c ‘¾˜Y452,20191206,02,20200131,20200201,20230131 +0300074430 ,ŽR“c ‘¾˜Y453,20191206,02,20200131,20200201,20230131 +0300075355 ,ŽR“c ‘¾˜Y454,20191206,02,20200124,20200201,20230131 +0300084753 ,ŽR“c ‘¾˜Y455,20191206,02,20200124,20200201,20230131 +0300098894 ,ŽR“c ‘¾˜Y456,20191206,05,20200117,20191206,20201231 +0300129374 ,ŽR“c ‘¾˜Y457,20191206,02,20200131,20200201,20230131 +0300140785 ,ŽR“c ‘¾˜Y458,20191206,02,20200124,20200201,20230131 +0300144217 ,ŽR“c ‘¾˜Y459,20191206,02,20200131,20200201,20230131 +0800004365 ,ŽR“c ‘¾˜Y460,20191206,02,20200124,20200201,20230131 +0800005345 ,ŽR“c ‘¾˜Y461,20191206,02,20200117,20200201,20210131 +0800011949 ,ŽR“c ‘¾˜Y462,20191206,02,20200124,20200201,20230131 +0800015502 ,ŽR“c ‘¾˜Y463,20191206,02,20200124,20200201,20230131 +0800017327 ,ŽR“c ‘¾˜Y464,20191206,02,20200124,20200201,20230131 +0800023939 ,ŽR“c ‘¾˜Y465,20191206,02,20200124,20200201,20230131 +0800026580 ,ŽR“c ‘¾˜Y466,20191206,02,20200131,20200201,20230131 +0800027225 ,ŽR“c ‘¾˜Y467,20191206,02,20200131,20200201,20230131 +0800029120 ,ŽR“c ‘¾˜Y468,20191206,02,20200117,20200201,20230131 +0800035724 ,ŽR“c ‘¾˜Y469,20191206,02,20200131,20200201,20230131 +0800042666 ,ŽR“c ‘¾˜Y470,20191206,02,20200124,20200201,20230131 +0800043433 ,ŽR“c ‘¾˜Y471,20191206,02,20200124,20200201,20230131 +0800056578 ,ŽR“c ‘¾˜Y472,20191206,01,20200117,20191206,20201231 +0800078962 ,ŽR“c ‘¾˜Y473,20191206,02,20200131,20200201,20230131 +0800079276 ,ŽR“c ‘¾˜Y474,20191206,02,20200124,20200201,20230131 +0800082684 ,ŽR“c ‘¾˜Y475,20191206,02,20200124,20200201,20230131 +0800084768 ,ŽR“c ‘¾˜Y476,20191206,01,20200110,20191206,20200630 +0800093007 ,ŽR“c ‘¾˜Y477,20191206,02,20200131,20200201,20230131 +0800096596 ,ŽR“c ‘¾˜Y478,20191206,02,20200124,20200201,20230131 +0800101697 ,ŽR“c ‘¾˜Y479,20191206,02,20200124,20200201,20230131 +0800126908 ,ŽR“c ‘¾˜Y480,20191206,02,20200131,20200201,20230131 +0800140307 ,ŽR“c ‘¾˜Y481,20191206,02,20200124,20200201,20210131 +0800148383 ,ŽR“c ‘¾˜Y482,20191206,02,20200124,20200201,20220131 +0800154456 ,ŽR“c ‘¾˜Y483,20191206,02,20200124,20200201,20230131 +0800157072 ,ŽR“c ‘¾˜Y484,20191206,02,20200131,20200201,20230131 +0800168031 ,ŽR“c ‘¾˜Y485,20191206,02,20200124,20200201,20230131 +0800173930 ,ŽR“c ‘¾˜Y486,20191206,02,20200124,20200201,20220131 +0800174821 ,ŽR“c ‘¾˜Y487,20191206,02,20200131,20200201,20230131 +0800203317 ,ŽR“c ‘¾˜Y488,20191206,01,20200110,20191206,20201231 +0800208122 ,ŽR“c ‘¾˜Y489,20191206,02,20200117,20200201,20230131 +0800213428 ,ŽR“c ‘¾˜Y490,20191206,02,20200131,20200201,20230131 +0800218233 ,ŽR“c ‘¾˜Y491,20191206,02,20200131,20200201,20230131 +0800225124 ,ŽR“c ‘¾˜Y492,20191206,02,20200110,20200201,20230131 +0800236088 ,ŽR“c ‘¾˜Y493,20191206,02,20200124,20200201,20230131 +0800240824 ,ŽR“c ‘¾˜Y494,20191206,02,20200124,20200201,20230131 +0800244196 ,ŽR“c ‘¾˜Y495,20191206,02,20200124,20200201,20230131 +0800309700 ,ŽR“c ‘¾˜Y496,20191206,02,20200117,20200201,20220131 +0800333520 ,ŽR“c ‘¾˜Y497,20191206,02,20200110,20200201,20220131 +0800413273 ,ŽR“c ‘¾˜Y498,20191206,01,20200110,20191206,20201231 +0800459770 ,ŽR“c ‘¾˜Y499,20191206,02,20200124,20200201,20230131 +0800468191 ,ŽR“c ‘¾˜Y500,20191206,02,20200124,20200201,20230131 +0800491940 ,ŽR“c ‘¾˜Y501,20191206,01,20200110,20191206,20201231 +0300065473 ,ŽR“c ‘¾˜Y502,20191207,02,20200124,20200201,20220131 +0800082501 ,ŽR“c ‘¾˜Y503,20191207,02,20200124,20200201,20220131 +0100008033 ,ŽR“c ‘¾˜Y504,20191209,02,20200124,20200201,20230131 +0100010399 ,ŽR“c ‘¾˜Y505,20191209,01,20200110,20191209,20201231 +0100028972 ,ŽR“c ‘¾˜Y506,20191209,02,20200124,20200201,20230131 +0100029324 ,ŽR“c ‘¾˜Y507,20191209,02,20200117,20200201,20230131 +0100032937 ,ŽR“c ‘¾˜Y508,20191209,05,20200117,20191209,20201231 +0100039940 ,ŽR“c ‘¾˜Y509,20191209,02,20200124,20200201,20230131 +0100044382 ,ŽR“c ‘¾˜Y510,20191209,02,20200124,20200201,20230131 +0100047250 ,ŽR“c ‘¾˜Y511,20191209,02,20200124,20200201,20230131 +0100048078 ,ŽR“c ‘¾˜Y512,20191209,02,20200124,20200201,20230131 +0100050250 ,ŽR“c ‘¾˜Y513,20191209,02,20200131,20200201,20230131 +0100053934 ,ŽR“c ‘¾˜Y514,20191209,01,20200124,20191209,20201231 +0100069890 ,ŽR“c ‘¾˜Y515,20191209,02,20200117,20200201,20230131 +0100077159 ,ŽR“c ‘¾˜Y516,20191209,02,20200124,20200201,20230131 +0100090848 ,ŽR“c ‘¾˜Y517,20191209,01,20200117,20191209,20201231 +0100093685 ,ŽR“c ‘¾˜Y518,20191209,02,20200131,20200201,20230131 +0100106221 ,ŽR“c ‘¾˜Y519,20191209,02,20200124,20200201,20230131 +0200022076 ,ŽR“c ‘¾˜Y520,20191209,02,20200124,20200201,20220131 +0200030915 ,ŽR“c ‘¾˜Y521,20191209,02,20200131,20200201,20230131 +0200049241 ,ŽR“c ‘¾˜Y522,20191209,02,20200117,20200201,20230131 +0200057503 ,ŽR“c ‘¾˜Y523,20191209,02,20200124,20200201,20230131 +0200066111 ,ŽR“c ‘¾˜Y524,20191209,02,20200124,20200201,20230131 +0200066944 ,ŽR“c ‘¾˜Y525,20191209,02,20200124,20200201,20220131 +0200077059 ,ŽR“c ‘¾˜Y526,20191209,02,20200117,20200201,20230131 +0200093453 ,ŽR“c ‘¾˜Y527,20191209,02,20200124,20200201,20230131 +0200101642 ,ŽR“c ‘¾˜Y528,20191209,02,20200124,20200201,20230131 +0300000444 ,ŽR“c ‘¾˜Y529,20191209,02,20200131,20200201,20230131 +0300018610 ,ŽR“c ‘¾˜Y530,20191209,02,20200124,20200201,20220131 +0300044867 ,ŽR“c ‘¾˜Y531,20191209,02,20200131,20200201,20230131 +0300045340 ,ŽR“c ‘¾˜Y532,20191209,01,20200124,20191209,20201231 +0300063322 ,ŽR“c ‘¾˜Y533,20191209,01,20200117,20191209,20201231 +0300106587 ,ŽR“c ‘¾˜Y534,20191209,02,20200124,20200201,20220131 +0300117481 ,ŽR“c ‘¾˜Y535,20191209,02,20200124,20200201,20210131 +0800017190 ,ŽR“c ‘¾˜Y536,20191209,01,20200117,20191209,20201231 +0800023319 ,ŽR“c ‘¾˜Y537,20191209,02,20200124,20200201,20210131 +0800025940 ,ŽR“c ‘¾˜Y538,20191209,10,20200117,20191209,20201231 +0800029414 ,ŽR“c ‘¾˜Y539,20191209,02,20200131,20200201,20230131 +0800080061 ,ŽR“c ‘¾˜Y540,20191209,01,20200131,20191209,20201231 +0800080959 ,ŽR“c ‘¾˜Y541,20191209,02,20200124,20200201,20220131 +0800085764 ,ŽR“c ‘¾˜Y542,20191209,05,20200117,20191209,20201231 +0800095042 ,ŽR“c ‘¾˜Y543,20191209,01,20200117,20191209,20201231 +0800100658 ,ŽR“c ‘¾˜Y544,20191209,02,20200131,20200201,20230131 +0800111099 ,ŽR“c ‘¾˜Y545,20191209,05,20200110,20191209,20201231 +0800113407 ,ŽR“c ‘¾˜Y546,20191209,01,20200117,20191209,20201231 +0800114233 ,ŽR“c ‘¾˜Y547,20191209,02,20200124,20200201,20230131 +0800116430 ,ŽR“c ‘¾˜Y548,20191209,02,20200131,20200201,20230131 +0800134331 ,ŽR“c ‘¾˜Y549,20191209,02,20200131,20200201,20230131 +0800156084 ,ŽR“c ‘¾˜Y550,20191209,01,20200124,20191209,20201231 +0800159784 ,ŽR“c ‘¾˜Y551,20191209,01,20200124,20191209,20201231 +0800178096 ,ŽR“c ‘¾˜Y552,20191209,02,20200124,20200201,20230131 +0800186617 ,ŽR“c ‘¾˜Y553,20191209,02,20200124,20200201,20230131 +0800244790 ,ŽR“c ‘¾˜Y554,20191209,02,20200131,20200201,20230131 +0800244811 ,ŽR“c ‘¾˜Y555,20191209,02,20200124,20200201,20230131 +0800264855 ,ŽR“c ‘¾˜Y556,20191209,02,20200117,20200101,20211231 +0800384338 ,ŽR“c ‘¾˜Y557,20191209,02,20200131,20200201,20230131 +0800398886 ,ŽR“c ‘¾˜Y558,20191209,02,20200124,20200201,20220131 +0800466156 ,ŽR“c ‘¾˜Y559,20191209,02,20200131,20200201,20230131 +0800484197 ,ŽR“c ‘¾˜Y560,20191209,02,20200131,20200201,20210131 +0100000407 ,ŽR“c ‘¾˜Y561,20191210,01,20200117,20191210,20201231 +0100036797 ,ŽR“c ‘¾˜Y562,20191210,05,20200124,20191210,20201231 +0100054310 ,ŽR“c ‘¾˜Y563,20191210,02,20200131,20200201,20230131 +0100120569 ,ŽR“c ‘¾˜Y564,20191210,02,20200124,20200201,20210131 +0100120585 ,ŽR“c ‘¾˜Y565,20191210,02,20200131,20200201,20230131 +0200024028 ,ŽR“c ‘¾˜Y566,20191210,02,20200131,20200201,20230131 +0200031660 ,ŽR“c ‘¾˜Y567,20191210,02,20200124,20200201,20230131 +0200066022 ,ŽR“c ‘¾˜Y568,20191210,01,20200124,20191210,20201231 +0200101715 ,ŽR“c ‘¾˜Y569,20191210,02,20200131,20200201,20230131 +0300052215 ,ŽR“c ‘¾˜Y570,20191210,02,20200131,20200201,20230131 +0300059724 ,ŽR“c ‘¾˜Y571,20191210,01,20200117,20191210,20201231 +0300080391 ,ŽR“c ‘¾˜Y572,20191210,05,20200131,20191210,20201231 +0300120920 ,ŽR“c ‘¾˜Y573,20191210,02,20200131,20200201,20230131 +0300133703 ,ŽR“c ‘¾˜Y574,20191210,02,20200131,20200201,20230131 +0300141820 ,ŽR“c ‘¾˜Y575,20191210,02,20200131,20200201,20230131 +0800002192 ,ŽR“c ‘¾˜Y576,20191210,02,20200131,20200201,20230131 +0800077265 ,ŽR“c ‘¾˜Y577,20191210,02,20200124,20200201,20230131 +0800080193 ,ŽR“c ‘¾˜Y578,20191210,02,20200131,20200201,20230131 +0800088305 ,ŽR“c ‘¾˜Y579,20191210,05,20200131,20191210,20201231 +0800097967 ,ŽR“c ‘¾˜Y580,20191210,02,20200124,20200201,20230131 +0800112010 ,ŽR“c ‘¾˜Y581,20191210,02,20200131,20200201,20220131 +0800119901 ,ŽR“c ‘¾˜Y582,20191210,02,20200131,20200201,20230131 +0800141427 ,ŽR“c ‘¾˜Y583,20191210,01,20200131,20191210,20200630 +0800161070 ,ŽR“c ‘¾˜Y584,20191210,02,20200131,20200201,20220131 +0800175674 ,ŽR“c ‘¾˜Y585,20191210,02,20200124,20200201,20230131 +0800291534 ,ŽR“c ‘¾˜Y586,20191210,02,20200131,20200201,20230131 +0800307066 ,ŽR“c ‘¾˜Y587,20191210,02,20200131,20200201,20230131 +0800358019 ,ŽR“c ‘¾˜Y588,20191210,02,20200124,20200201,20230131 +0800358868 ,ŽR“c ‘¾˜Y589,20191210,01,20200117,20191210,20201231 +0800361184 ,ŽR“c ‘¾˜Y590,20191210,01,20200117,20191210,20201231 +0800410096 ,ŽR“c ‘¾˜Y591,20191210,02,20200131,20200201,20230131 +0800420040 ,ŽR“c ‘¾˜Y592,20191210,02,20200131,20200201,20220131 +0100058502 ,ŽR“c ‘¾˜Y593,20191211,02,20200131,20200201,20220131 +0300003850 ,ŽR“c ‘¾˜Y594,20191211,01,20200131,20191211,20201231 +0300022685 ,ŽR“c ‘¾˜Y595,20191211,02,20200131,20200201,20230131 +0300141129 ,ŽR“c ‘¾˜Y596,20191211,05,20200131,20191211,20201231 +0800001480 ,ŽR“c ‘¾˜Y597,20191211,02,20200131,20200201,20230131 +0800093805 ,ŽR“c ‘¾˜Y598,20191211,02,20200131,20200201,20220131 +0800107474 ,ŽR“c ‘¾˜Y599,20191211,02,20200131,20200201,20230131 +0800155223 ,ŽR“c ‘¾˜Y600,20191211,01,20200117,20191211,20201231 +0800155240 ,ŽR“c ‘¾˜Y601,20191211,02,20200131,20200201,20230131 +0800224489 ,ŽR“c ‘¾˜Y602,20191211,02,20200117,20200101,20221231 +0800230128 ,ŽR“c ‘¾˜Y603,20191211,01,20200131,20191211,20201231 +0800365082 ,ŽR“c ‘¾˜Y604,20191211,01,20200117,20191211,20201231 +0800384087 ,ŽR“c ‘¾˜Y605,20191211,01,20200117,20191211,20201231 +0800420032 ,ŽR“c ‘¾˜Y606,20191211,02,20200131,20200201,20230131 +0800435315 ,ŽR“c ‘¾˜Y607,20191211,01,20200117,20191211,20201231 +0100026406 ,ŽR“c ‘¾˜Y608,20191212,02,20200131,20200201,20230131 +0100065266 ,ŽR“c ‘¾˜Y609,20191212,05,20200117,20191212,20201231 +0100075040 ,ŽR“c ‘¾˜Y610,20191212,01,20200117,20191212,20201231 +0100090201 ,ŽR“c ‘¾˜Y611,20191212,01,20200117,20191212,20201231 +0800020360 ,ŽR“c ‘¾˜Y612,20191212,02,20200131,20200201,20230131 +0800100313 ,ŽR“c ‘¾˜Y613,20191212,02,20200131,20200201,20220131 +0800110076 ,ŽR“c ‘¾˜Y614,20191212,02,20200131,20200201,20230131 +0800114098 ,ŽR“c ‘¾˜Y615,20191212,02,20200131,20200201,20230131 +0800123666 ,ŽR“c ‘¾˜Y616,20191212,01,20200117,20191212,20201231 +0800125367 ,ŽR“c ‘¾˜Y617,20191212,05,20200131,20191212,20201231 +0800142130 ,ŽR“c ‘¾˜Y618,20191212,01,20200117,20191212,20201231 +0800164575 ,ŽR“c ‘¾˜Y619,20191212,02,20200131,20200201,20230131 +0800343577 ,ŽR“c ‘¾˜Y620,20191212,02,20200131,20200201,20230131 +0100004682 ,ŽR“c ‘¾˜Y621,20191213,02,20200131,20200201,20230131 +0100072521 ,ŽR“c ‘¾˜Y622,20191213,02,20200131,20200201,20230131 +0100078686 ,ŽR“c ‘¾˜Y623,20191213,01,20200117,20191213,20201231 +0300070540 ,ŽR“c ‘¾˜Y624,20191213,02,20200131,20200201,20220131 +0800012317 ,ŽR“c ‘¾˜Y625,20191213,01,20200117,20191213,20201231 +0800012465 ,ŽR“c ‘¾˜Y626,20191213,02,20200131,20200201,20230131 +0800029287 ,ŽR“c ‘¾˜Y627,20191213,02,20200131,20200201,20230131 +0800042771 ,ŽR“c ‘¾˜Y628,20191213,02,20200131,20200201,20230131 +0800049636 ,ŽR“c ‘¾˜Y629,20191213,02,20200131,20200201,20220131 +0800064058 ,ŽR“c ‘¾˜Y630,20191213,02,20200131,20200201,20220131 +0800064724 ,ŽR“c ‘¾˜Y631,20191213,02,20200131,20200201,20230131 +0800090156 ,ŽR“c ‘¾˜Y632,20191213,10,20200131,20191213,20200630 +0800111986 ,ŽR“c ‘¾˜Y633,20191213,01,20200131,20191213,20201231 +0800125812 ,ŽR“c ‘¾˜Y634,20191213,02,20200131,20200201,20230131 +0800140218 ,ŽR“c ‘¾˜Y635,20191213,02,20200131,20200201,20220131 +0800170338 ,ŽR“c ‘¾˜Y636,20191213,02,20200131,20200201,20220131 +0800100623 ,ŽR“c ‘¾˜Y637,20191215,02,20200131,20200201,20220131 +0100030730 ,ŽR“c ‘¾˜Y638,20191216,10,20200117,20191216,20201231 +0100055759 ,ŽR“c ‘¾˜Y639,20191216,02,20200131,20200201,20230131 +0100116057 ,ŽR“c ‘¾˜Y640,20191216,01,20200117,20191216,20201231 +0200032535 ,ŽR“c ‘¾˜Y641,20191216,02,20200131,20200201,20220131 +0200071220 ,ŽR“c ‘¾˜Y642,20191216,01,20200131,20191216,20201231 +0300044140 ,ŽR“c ‘¾˜Y643,20191216,02,20200131,20200201,20230131 +0300071600 ,ŽR“c ‘¾˜Y644,20191216,01,20200131,, +0300071619 ,ŽR“c ‘¾˜Y645,20191216,01,20200131,20191216,20201231 +0300105971 ,ŽR“c ‘¾˜Y646,20191216,01,20200131,20191216,20201231 +0300119026 ,ŽR“c ‘¾˜Y647,20191216,02,20200131,20200201,20230131 +0800058961 ,ŽR“c ‘¾˜Y648,20191216,02,20200131,20200201,20220131 +0800059020 ,ŽR“c ‘¾˜Y649,20191216,10,20200117,20191216,20201231 +0800104971 ,ŽR“c ‘¾˜Y650,20191216,01,20200131,20191216,20200630 +0800106001 ,ŽR“c ‘¾˜Y651,20191216,02,20200131,20200101,20221231 +0800124808 ,ŽR“c ‘¾˜Y652,20191216,05,20200131,20191216,20200630 +0800198518 ,ŽR“c ‘¾˜Y653,20191216,10,20200131,20191216,20201231 +0800415152 ,ŽR“c ‘¾˜Y654,20191216,01,20200117,20191216,20201231 +0100050226 ,ŽR“c ‘¾˜Y655,20191217,02,20200131,20200201,20230131 +0100050838 ,ŽR“c ‘¾˜Y656,20191217,01,20200131,20191217,20201231 +0100109301 ,ŽR“c ‘¾˜Y657,20191217,02,20200131,20200201,20220131 +0200009452 ,ŽR“c ‘¾˜Y658,20191217,01,20200131,20191217,20201231 +0200045530 ,ŽR“c ‘¾˜Y659,20191217,01,20200117,20191217,20201231 +0200059042 ,ŽR“c ‘¾˜Y660,20191217,10,20200131,20191217,20201231 +0200088263 ,ŽR“c ‘¾˜Y661,20191217,05,20200131,20191217,20201231 +0200094972 ,ŽR“c ‘¾˜Y662,20191217,01,20200131,20191217,20201231 +0200097734 ,ŽR“c ‘¾˜Y663,20191217,10,20200131,20191217,20201231 +0300141870 ,ŽR“c ‘¾˜Y664,20191217,02,20200131,20200201,20220131 +0800003318 ,ŽR“c ‘¾˜Y665,20191217,10,20200131,20191217,20201231 +0800075718 ,ŽR“c ‘¾˜Y666,20191217,02,20200131,20200201,20230131 +0800101522 ,ŽR“c ‘¾˜Y667,20191217,10,20200117,20191217,20201231 +0800139228 ,ŽR“c ‘¾˜Y668,20191217,10,20200131,20191217,20201231 +0800404207 ,ŽR“c ‘¾˜Y669,20191217,01,20200131,20191217,20201231 +0800491975 ,ŽR“c ‘¾˜Y670,20191217,01,20200131,20191217,20201231 +0200041054 ,ŽR“c ‘¾˜Y671,20191218,01,20200131,20191218,20201231 +0200044070 ,ŽR“c ‘¾˜Y672,20191218,01,20200131,20191218,20201231 +0300037836 ,ŽR“c ‘¾˜Y673,20191218,02,20200131,20200201,20230131 +0300125859 ,ŽR“c ‘¾˜Y674,20191218,02,20200131,20200201,20230131 +0300143911 ,ŽR“c ‘¾˜Y675,20191218,01,20200131,20191218,20201231 +0800012724 ,ŽR“c ‘¾˜Y676,20191218,01,20200131,20191218,20201231 +0800060605 ,ŽR“c ‘¾˜Y677,20191218,02,20200131,20200201,20230131 +0800102545 ,ŽR“c ‘¾˜Y678,20191218,05,20200131,20191218,20201231 +0800117500 ,ŽR“c ‘¾˜Y679,20191218,01,20200131,20191218,20201231 +0100031493 ,ŽR“c ‘¾˜Y680,20191219,02,20200131,20200201,20230131 +0100101157 ,ŽR“c ‘¾˜Y681,20191219,02,20200131,20200201,20230131 +0200028732 ,ŽR“c ‘¾˜Y682,20191219,01,20200131,20191219,20201231 +0300029370 ,ŽR“c ‘¾˜Y683,20191219,01,20200131,20191219,20201231 +0300042651 ,ŽR“c ‘¾˜Y684,20191219,01,20200131,20191219,20201231 +0300058132 ,ŽR“c ‘¾˜Y685,20191219,05,20200131,20191219,20201231 +0300068510 ,ŽR“c ‘¾˜Y686,20191219,01,20200131,20191219,20201231 +0300098312 ,ŽR“c ‘¾˜Y687,20191219,05,20200131,20191219,20201231 +0800091187 ,ŽR“c ‘¾˜Y688,20191219,01,20200131,20191219,20201231 +0800137411 ,ŽR“c ‘¾˜Y689,20191219,02,20200131,20200201,20230131 +0800167922 ,ŽR“c ‘¾˜Y690,20191219,02,20200131,20200201,20220131 +0800338883 ,ŽR“c ‘¾˜Y691,20191219,02,20200131,20200201,20230131 +0800491983 ,ŽR“c ‘¾˜Y692,20191219,01,20200131,20191219,20201231 +0100004860 ,ŽR“c ‘¾˜Y693,20191220,02,20200131,20200201,20220131 +0100014378 ,ŽR“c ‘¾˜Y694,20191220,01,20200131,20191220,20201231 +0200099192 ,ŽR“c ‘¾˜Y695,20191220,01,20200131,20191220,20201231 +0300051650 ,ŽR“c ‘¾˜Y696,20191220,05,20200131,20191220,20201231 +0300132448 ,ŽR“c ‘¾˜Y697,20191220,05,20200131,20191220,20201231 +0300143458 ,ŽR“c ‘¾˜Y698,20191220,01,20200131,20191220,20201231 +0800007348 ,ŽR“c ‘¾˜Y699,20191220,10,20200131,20191220,20201231 +0800116090 ,ŽR“c ‘¾˜Y700,20191220,02,20200131,20200201,20220131 +0800224942 ,ŽR“c ‘¾˜Y701,20191220,01,20200131,20191220,20201231 +0800371554 ,ŽR“c ‘¾˜Y702,20191220,05,20200131,20191220,20201231 +0800410495 ,ŽR“c ‘¾˜Y703,20191220,02,20200131,20200201,20220131 +0100074842 ,ŽR“c ‘¾˜Y704,20191223,01,20200131,20191223,20201231 +0800057833 ,ŽR“c ‘¾˜Y705,20191223,10,20200131,20191223,20201231 +0800073162 ,ŽR“c ‘¾˜Y706,20191223,01,20200131,20191223,20201231 +0100118670 ,ŽR“c ‘¾˜Y707,20191224,02,20200131,20200201,20230131 +0100127474 ,ŽR“c ‘¾˜Y708,20191225,02,20200131,20200201,20230131 +0800493609 ,ŽR“c ‘¾˜Y709,20200106,03,20200115,20200106,20210131
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/porori.json Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,1 @@ +{"From":"20200113","To":"20200117"}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/src/main.cpp Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,34 @@ +// Filename : main.cpp +// Last Change: 2020-02-12 … 08:38:12. +// +#include "main.h" +#include "porori.h" + +IMPLEMENT_APP(MyApp) + +IMPLEMENT_CLASS( MyApp, wxApp ) + +MyApp::MyApp() +{ +} +MyApp::~MyApp() +{ +} + +bool MyApp::OnInit() +{ + if ( !wxApp::OnInit() ) return false; + + long style = wxDEFAULT_FRAME_STYLE; + style = style & ~(wxMAXIMIZE_BOX); + PororiFrame *mainframe = new PororiFrame(NULL, wxID_ANY, wxT("Porori"), wxDefaultPosition, wxSize(340,80), style); + mainframe->Show(true); + + return true; +} + +int MyApp::OnExit() +{ + return 0; +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/src/porori.cpp Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,65 @@ +/* Filename : porori.cpp + Last Change: 2020-02-12 水 15:53:15. + by Takayuki Mutoh +*/ +#include "porori.h" +#include "sample.xpm" + +PororiFrame::PororiFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) + : wxFrame(parent, id, title, pos, size, style) +{ + this->SetIcon(wxIcon(m_icon)); + this->SetSizeHints(wxDefaultSize, wxDefaultSize); + this->SetBackgroundColour(wxColour(110, 200, 100)); + + wxBoxSizer* bSizerTop = new wxBoxSizer(wxHORIZONTAL); + + m_datePickerFrom = new wxDatePickerCtrl(this, wxID_ANY, wxDefaultDateTime, wxDefaultPosition, wxDefaultSize, wxDP_DROPDOWN|wxDP_SHOWCENTURY); + bSizerTop->Add(m_datePickerFrom, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5); + + m_staticText = new wxStaticText(this, wxID_ANY, wxT("~"), wxDefaultPosition, wxDefaultSize, 0); + bSizerTop->Add(m_staticText, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5); + + m_datePickerTo = new wxDatePickerCtrl(this, wxID_ANY, wxDefaultDateTime, wxDefaultPosition, wxDefaultSize, wxDP_DROPDOWN|wxDP_SHOWCENTURY); + bSizerTop->Add(m_datePickerTo, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5); + + m_button = new wxButton( this, ID_PROCESS, wxT("実行"), wxDefaultPosition, wxDefaultSize, 0); + bSizerTop->Add(m_button, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5); + + this->SetSizer(bSizerTop); + this->Layout(); + + this->Centre(wxBOTH); + + // Initiaize + for (wxDateTime t = m_datePickerFrom->GetValue(); ; t -= wxTimeSpan::Day()) { + if (t.GetWeekDay() == 1){ + m_datePickerFrom->SetValue(t); + break; + } + } + + // Connect Events + m_button->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PororiFrame::OnClick), NULL, this); +} + +PororiFrame::~PororiFrame() +{ + // Disconnect Events + m_button->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PororiFrame::OnClick), NULL, this); +} + +void PororiFrame::OnClick(wxCommandEvent& WXUNUSED(event)) +{ + wxTextFile file(m_json); + if (file.Create() || file.Open()) { + file.Clear(); + wxDateTime from = m_datePickerFrom->GetValue(); + wxDateTime to = m_datePickerTo->GetValue(); + wxString json = wxString::Format(wxT("{\"From\":\"%s\",\"To\":\"%s\"}"), from.Format(wxT("%Y%m%d")), to.Format(wxT("%Y%m%d"))); + file.AddLine(json); + file.Write(); + } + this->Close(); +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/src2/porori.go Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,154 @@ +package main + +import ( + "encoding/csv" + "encoding/json" + "fmt" + "io/ioutil" + "log" + "os" + "sort" + "strings" + "time" + + "golang.org/x/text/encoding/japanese" + "golang.org/x/text/transform" +) + +const jsonfile = "porori.json" + +type Sinsei struct { + No string + Name string + Ymd string + Kbn string + Ccn string + Bgn string + End string + Term string +} + +func (s Sinsei) String() string { + return strings.Join([]string{s.No, s.Name, s.Ymd, s.Kbn, s.Bgn, s.End, s.Term, s.Ccn}, ",") +} + +func (s Sinsei) TransDate (ymd string) (time.Time, string) { + zero := time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC) + if !strings.HasPrefix(ymd, "20") { + return zero, "" // it's dummy + } + t, _ := time.Parse("20060102", ymd) + return t, t.Format(" 2006-01-02") +} + +func (s Sinsei) CountMonth(bgn, end time.Time) int { + if bgn.IsZero() { + return 0 + } + + m := (end.Year() * 12 + int(end.Month())) - (bgn.Year() * 12 + int(bgn.Month())) + if bgn.Day() == 1 { + m++ + } + return m +} + +func (s *Sinsei) ChangeExpression() { + s.No = "=\"" + strings.TrimSpace(s.No) + "\"" + + switch s.Kbn { + case "01": + s.Kbn = "æ–°è¦" + case "02": + s.Kbn = "æ›´æ–°" + case "10": + s.Kbn = "支介" + case "05": + s.Kbn = "区変" + case "03": + s.Kbn = "転入" + case "09": + s.Kbn = "証交" + } + s.Kbn, _, _ = transform.String(japanese.ShiftJIS.NewEncoder(), s.Kbn) + + var bgn, end time.Time + _, s.Ymd = s.TransDate(s.Ymd) + _, s.Ccn = s.TransDate(s.Ccn) + bgn, s.Bgn = s.TransDate(s.Bgn) + end, s.End = s.TransDate(s.End) + + s.Term = fmt.Sprintf("%d", s.CountMonth(bgn, end)) +} + +func main() { + + if len(os.Args) != 2 { + fmt.Fprint(os.Stderr, "bat input.") + os.Exit(1) + } + + // Filter Setting + type YF struct { + From string + To string + } + var yf YF + + content, err := ioutil.ReadFile(jsonfile) + if err != nil { + log.Fatal(err) + } + if err := json.Unmarshal(content, &yf); err != nil { + log.Fatal(err) + } + + // Read CSV + content, err = ioutil.ReadFile(os.Args[1]) + if err != nil { + log.Fatal(err) + } + + r := csv.NewReader(strings.NewReader(string(content))) + + records, err := r.ReadAll() + if err != nil { + log.Fatal(err) + } + + // Main Proccess + var sinsei []Sinsei + + for _, record := range records { + if record[4] < yf.From || record[4] > yf.To { + continue + } + + ss := Sinsei{ + No: record[0], + Name: record[1], + Ymd: record[2], + Kbn: record[3], + Ccn: record[4], + Bgn: record[5], + End: record[6], + } + ss.ChangeExpression() + + sinsei = append(sinsei, ss) + } + + sort.Slice(sinsei, func(i, j int) bool { + return sinsei[i].Ymd < sinsei[j].Ymd + }) + + // Output + header := strings.Join([]string{"被ä¿ç•ª", "æ°å", "申請日", "区分", "é–‹å§‹æ—¥", "終了日", "期間", "審査会"}, ",") + header, _, _ = transform.String(japanese.ShiftJIS.NewEncoder(), header) + fmt.Println(header) + + for _, s := range sinsei { + fmt.Println(s) + } +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kaigo/Porori/src2/porori.pl Wed Mar 04 23:46:59 2020 +0900 @@ -0,0 +1,22 @@ +use Time::Piece; +use Time::Seconds; + +my $today = localtime->ymd; +$today =~ s/-//g; + +print join ',' => "”í•Û”Ô", "Ž–¼", "\¿“ú", "‹æ•ª", "ŠJŽn“ú", "I—¹“ú", "ŠúŠÔ", "\n"; +while (<>) { + chomp; + my ($h, $n, $s, $kbn, $d, $bgn, $end) = split /,/; + next if $d ne $today; + $kbn = "V‹K" if $kbn eq '01'; + $kbn = "XV" if $kbn eq '02'; + $kbn = "Žx‰î" if $kbn eq '10'; + $kbn = "‹æ•Ï" if $kbn eq '05'; + my $tbgn = Time::Piece->strptime($bgn, "%Y%m%d"); + my $tend = Time::Piece->strptime($end, "%Y%m%d"); + my $diff = $tend - $tbgn; + print join ',' => $h, $n, $s, $kbn, $bgn, $end, int $diff->months(); + print "\n"; +} +