changeset 5:519d6fd0bfd9 draft

searcher: bug fix. fcgo: new feature.
author pyon <pyon@macmini>
date Tue, 15 Jun 2021 18:32:28 +0900
parents ff7a3c254956
children c17740b2286a
files horori/searcher/src/searcher.cpp superFC/fc_tmpl.go
diffstat 2 files changed, 39 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/horori/searcher/src/searcher.cpp	Tue Jun 15 06:19:45 2021 +0900
+++ b/horori/searcher/src/searcher.cpp	Tue Jun 15 18:32:28 2021 +0900
@@ -1,5 +1,5 @@
 // Filename   : searcher.cpp
-// Last Change: 2021-05-11 火 13:20:04.
+// Last Change: 2021-06-15 火 16:11:11.
 //
 #include <wx/msgdlg.h>
 #include <wx/dir.h>
@@ -1436,7 +1436,7 @@
 	int th = 38;
 	unsigned char r, g, b;
 
-	for (int x = 2450, y = 1600; y = 1850; y++) {
+	for (int x = 2450, y = 1600; y < 1850; y++) {
 		r = imgfile.GetRed(x, y);
 		g = imgfile.GetGreen(x, y);
 		b = imgfile.GetBlue(x, y);
@@ -1491,7 +1491,8 @@
 
 void SearchFrame::SetVersionInfo()
 {
-	this->SetTitle(wxT("Searcher - v1.1.0"));
+	this->SetTitle(wxT("Searcher - v1.1.1"));
+	m_textCtrlVersion->AppendText(wxT("1.1.1 : bug fix (2021-06-15)\n"));
 	m_textCtrlVersion->AppendText(wxT("1.1.0 : adapt to new marksheet (2021-05-11)\n"));
 	m_textCtrlVersion->AppendText(wxT("1.0.4 : small fix (2020-12-24)\n"));
 	m_textCtrlVersion->AppendText(wxT("1.0.3 : new feature - paste search (2020-06-26)\n"));
--- a/superFC/fc_tmpl.go	Tue Jun 15 06:19:45 2021 +0900
+++ b/superFC/fc_tmpl.go	Tue Jun 15 18:32:28 2021 +0900
@@ -1,7 +1,7 @@
 /*
  fcgo.go: Fucho de Go
 
- Last Change: 2021-06-14 月 16:14:04.
+ Last Change: 2021-06-15 Tue 18:30:10.
 */
 package main
 
@@ -12,6 +12,8 @@
 import "C"
 
 import (
+	_ "embed"
+
 	"encoding/csv"
 	"flag"
 	"fmt"
@@ -19,6 +21,7 @@
 	"log"
 	"os"
 	"regexp"
+	"sort"
 	"strings"
 	"time"
 
@@ -26,6 +29,9 @@
 	"golang.org/x/text/transform"
 )
 
+//go:embed fcgo.go
+var go_source string
+
 type Data struct {
 	Hno string
 	Page string
@@ -37,10 +43,13 @@
 }
 
 var (
-    ver = "0.1"
+    ver = "0.2"
 
+	dump bool
+	pver bool
 	clean bool
 	skip bool
+	all bool
 	debug bool
 	xdwfile string
 
@@ -53,6 +62,9 @@
 
 func init() {
 	/* INITIALIZE FLAGS */
+	flag.BoolVar(&pver, "v", false, "print version")
+	flag.BoolVar(&dump, "s", false, "dump source")
+	flag.BoolVar(&all, "a", false, "output all page (default: matched page)")
 	flag.BoolVar(&clean, "c", false, "clean temporary files & exit")
 	flag.BoolVar(&skip, "e", false, "use existed files")
 	flag.BoolVar(&debug, "d", false, "debug mode")
@@ -61,6 +73,14 @@
 
 func main() {
 	flag.Parse()
+	if pver {
+		fmt.Printf("fcgo [ver %s]\n", ver)
+		os.Exit(0)
+	}
+	if dump {
+		fmt.Println(go_source)
+		os.Exit(0)
+	}
 
     /* PRINT HEADER */
     fmt.Println("===================================================")
@@ -113,7 +133,7 @@
 	debug_print(debug, fmt.Sprintf("len = %d / %d", len(h_order), n))
 
 	fmt.Println("[5] make_list ...")
-	n, err = make_list(h_order, data_hash, pagefile)
+	n, err = make_list(h_order, data_hash, pagefile, all)
 	if err != nil {
 		log.Fatal(err)
 	}
@@ -225,7 +245,7 @@
 	return order, n, nil
 }
 
-func make_list(h_order []string, hash map[string]Data, pagefile string) (int, error) {
+func make_list(h_order []string, hash map[string]Data, pagefile string, all bool) (int, error) {
 	var n int
 	var list []string
 	done := make(map[string]bool)
@@ -240,6 +260,17 @@
 		}
 	}
 
+	if all {
+		var p []string
+		for h, data := range hash {
+			if !done[h] {
+				p = append(p, data.Page)
+			}
+		}
+		sort.Strings(p)
+		list = append(list, p...)
+	}
+
 	if err := write_pagefile(pagefile, list); err != nil {
 		return n, err
 	}
@@ -288,7 +319,6 @@
 	for _, file := range files {
 		if strings.HasPrefix(file.Name(), prefix) {
 			os.Remove(file.Name())
-			continue
 		}
 	}
 	return err