【delphi开源代码栏目提醒】:网学会员delphi开源代码为您提供mapmanage.pas参考,解决您在mapmanage.pas学习中工作中的难题,参考学习。
unit mapmanage;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, typevalue;
// featruestr:array [1..8,1..8] of integer=(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
type
NumCharPattern = record
Num: integer;
FeatureDetail: array[0..20,1..8,1..8] of integer;
// Number,Total:integer;
end;
FindNumber = record
Numb:integer;
order: array[0..20] of integer;
end;
type
TFeatrue = class
private
Featruetype: array [0..19,0..63] of integer;
class function GetSubStr(var aString:String;SepChar:String):String;
class function GetSubStrNum(aString:String;SepChar:String):integer;
public
class procedure savetofile(FileName: string);
class procedure Openfile();
class function MapCmp():double;
end;
var
featruestr:array [1..8,1..8] of integer;
implementation
uses main;
class procedure Tfeatrue.savetofile(FileName: string);
var
n,i,j,k,m:integer;
SepChar:String;
f:TextFile;
pathstring:string;
begin
if RecogForm.SaveDialog1.Execute then
pathstring:=ExtractFilePath(Application.ExeName)+'feature\pattern.txt';
assignfile(f,'pattern.txt');
RecogForm.savedialog1.Filter:='*.txt|*.txt';
begin
assignfile(f,'pattern.txt');
rewrite(f);
SepChar:=' ';
for m := 0 to 9 do
if pattern[m].Num=0 then
begin
writeln(f,inttostr(m));
writeln(f,inttostr(0));
end
else
if pattern[m].Num<>0 then
begin
writeln(f,inttostr(m));
writeln(f,inttostr(pattern[m].Num));
for k:=1 to pattern[m].Num do
begin
writeln(f,inttostr(pattern[m].FeatureDetail[k][1,1]),SepChar,inttostr(pattern[m].FeatureDetail[k][1,2]),SepChar,inttostr(pattern[m].FeatureDetail[k][1,3])
,SepChar,inttostr(pattern[m].FeatureDetail[k][1,4]),SepChar,inttostr(pattern[m].FeatureDetail[k][1,5]),SepChar,inttostr(pattern[m].FeatureDetail[k][1,6])
,SepChar,inttostr(pattern[m].FeatureDetail[k][1,7]),SepChar,inttostr(pattern[m].FeatureDetail[k][1,8]),SepChar);
writeln(f,inttostr(pattern[m].FeatureDetail[k][2,1]),SepChar,inttostr(pattern[m].FeatureDetail[k][2,2]),SepChar,inttostr(pattern[m].FeatureDetail[k][2,3])
,SepChar,inttostr(pattern[m].FeatureDetail[k][2,4]),SepChar,inttostr(pattern[m].FeatureDetail[k][2,5]),SepChar,inttostr(pattern[m].FeatureDetail[k][2,6])
,SepChar,inttostr(pattern[m].FeatureDetail[k][2,7]),SepChar,inttostr(pattern[m].FeatureDetail[k][2,8]),SepChar);
writeln(f,inttostr(pattern[m].FeatureDetail[k][3,1]),SepChar,inttostr(pattern[m].FeatureDetail[k][3,2]),SepChar,inttostr(pattern[m].FeatureDetail[k][3,3])
,SepChar,inttostr(pattern[m].FeatureDetail[k][3,4]),SepChar,inttostr(pattern[m].FeatureDetail[k][3,5]),SepChar,inttostr(pattern[m].FeatureDetail[k][3,6])
,SepChar,inttostr(pattern[m].FeatureDetail[k][3,7]),SepChar,inttostr(pattern[m].FeatureDetail[k][3,8]),SepChar);
writeln(f,inttostr(pattern[m].FeatureDetail[k][4,1]),SepChar,inttostr(pattern[m].FeatureDetail[k][4,2]),SepChar,inttostr(pattern[m].FeatureDetail[k][4,3])
,SepChar,inttostr(pattern[m].FeatureDetail[k][4,4]),SepChar,inttostr(pattern[m].FeatureDetail[k][4,5]),SepChar,inttostr(pattern[m].FeatureDetail[k][4,6])
,SepChar,inttostr(pattern[m].FeatureDetail[k][4,7]),SepChar,inttostr(pattern[m].FeatureDetail[k][4,8]),SepChar);
writeln(f,inttostr(pattern[m].FeatureDetail[k][5,1]),SepChar,inttostr(pattern[m].FeatureDetail[k][5,2]),SepChar,inttostr(pattern[m].FeatureDetail[k][5,3])
,SepChar,inttostr(pattern[m].FeatureDetail[k][5,4]),SepChar,inttostr(pattern[m].FeatureDetail[k][5,5]),SepChar,inttostr(pattern[m].FeatureDetail[k][5,6])
,SepChar,inttostr(pattern[m].FeatureDetail[k][5,7]),SepChar,inttostr(pattern[m].FeatureDetail[k][5,8]),SepChar);
writeln(f,inttostr(pattern[m].FeatureDetail[k][6,1]),SepChar,inttostr(pattern[m].FeatureDetail[k][6,2]),SepChar,inttostr(pattern[m].FeatureDetail[k][6,3])
,SepChar,inttostr(pattern[m].FeatureDetail[k][6,4]),SepChar,inttostr(pattern[m].FeatureDetail[k][6,5]),SepChar,inttostr(pattern[m].FeatureDetail[k][6,6])
,SepChar,inttostr(pattern[m].FeatureDetail[k][6,7]),SepChar,inttostr(pattern[m].Featur