亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unit1.pas

?? 用于數(shù)據(jù)格式的相互轉(zhuǎn)換,可以將txt、dbf轉(zhuǎn)換成excel。
?? PAS
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
unit Unit1;

interface

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB, DBTables, StrUtils, ComObj,
     OleServer, ExcelXP,WinSkinStore, WinSkinData;

type
    TForm1 = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    BtnE2OD: TButton;
    OpenDialog1: TOpenDialog;
    receive: TMemo;
    Database1: TDatabase;
    ADOQuery1: TADOQuery;
    ADOCommand1: TADOCommand;
    BtnExit: TButton;
    BtnE2ND: TButton;
    BtnE2Jc: TButton;
    BtnJcdnb2Txt: TButton;
    BtnE2Txt: TButton;
    BtnAllDone: TButton;
    ChkDxh: TCheckBox;
    EdBH: TEdit;
    Label1: TLabel;
    RBRb: TRadioButton;
    RBHg: TRadioButton;
    procedure BtnE2ODClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BtnExitClick(Sender: TObject);
    procedure BtnE2JcClick(Sender: TObject);
    procedure BtnJcdnb2TxtClick(Sender: TObject);
    procedure BtnE2NDClick(Sender: TObject);
    procedure BtnE2TxtClick(Sender: TObject);
    procedure BtnAllDoneClick(Sender: TObject);
    private
        { Private declarations }
    public
        function PackDbf():Boolean;
        function CopyDbfFile(NewFileStr,OldFileTp: string):Boolean;
        function WriteFile(FileName,Buffer: string):Boolean;
        function OpenDialogFun(FileExt: string):Boolean;
        function Jcdnb2Txt(FileName: string):Boolean;
        function E2OD():Boolean;
        function E2Jc(Jc2Txt: Boolean;JcFlag: Byte):Boolean;
        function E2ND():Boolean;
        function E2Txt():Boolean;
        procedure EnableButton(BEnable: Boolean);
    end;

var
    Form1: TForm1;
    ConStr,JcdnbConStr,NewConStr: string;
    DbfTmp,DbfTemp: string;
implementation

{$R *.dfm}


{
//修改記錄:
//修改日期:2009.3.31
//修改內(nèi)容:1、增加是否按段序排序功能;
            2、增加新抄表庫(kù)表號(hào)補(bǔ)充字符功能
            3、對(duì)數(shù)值型字段進(jìn)行容錯(cuò)處理
            4、形成版本1.10
}


//選擇Excel表
procedure TForm1.BtnE2ODClick(Sender: TObject);
begin
    if not OpenDialogFun('xls') then exit;
    EnableButton(false);
    E2OD();
    EnableButton(true);
end;

//拷貝文件(NewFileName,OldFileName)
function TForm1.CopyDbfFile(NewFileStr,OldFileTp: string):Boolean;
var
    NewFileName: string;
    OldFileName: string;
    NewFile: TFileStream;
    OldFile: TFileStream;
begin
    result := True;
    NewFileName := ExtractFilePath(application.ExeName) + NewFileStr;
    OldFileName := ExtractFilePath(application.ExeName) + OldFileTp;

    OldFile := TFileStream.Create(OldFileName, fmOpenRead or fmShareDenyWrite);
    try
        if FileExists(NewFileName) then DeleteFile(NewFileName);
        NewFile := TFileStream.Create(NewFileName, fmCreate {or fmShareDenyRead});
        try
            NewFile.CopyFrom(OldFile, OldFile.Size);
            FreeAndNil(NewFile);
        except
            result := false;
            FreeAndNil(NewFile);
            FreeAndNil(OldFile);
            exit;
        end;
        FreeAndNil(OldFile);
    except
        result := false;
        FreeAndNil(OldFile);
    end;
    
end;

//寫文件(NewFileName,OldFileName)
function TForm1.WriteFile(FileName,Buffer: string):Boolean;
var
    FileHandle: TFileStream;
    p: Array of Char;
begin
    result := true;
    FileName := ExtractFilePath(application.ExeName) + FileName;
    try
        FileHandle := TFileStream.Create(FileName, fmOpenReadWrite);
        FileHandle.Seek(0,soEnd);
        SetLength(p, length(Buffer));
        StrPCopy(PChar(p), Buffer);
        FileHandle.Write(p[0], length(p));
        FreeAndNil(FileHandle);
    except
        FreeAndNil(FileHandle);
        result := false;
    end;
end;

//對(duì)話框公用函數(shù)(FileExt)
function TForm1.OpenDialogFun(FileExt: string):Boolean;
begin
    result := false;

    OpenDialog1.Title := '選擇文件';
    OpenDialog1.Filter := '(*.*)|*.*';
    OpenDialog1.FileName := '';
    OpenDialog1.InitialDir := ExtractFilePath(application.ExeName);
    if AnsiUpperCase(FileExt) = 'XLS' then
    begin
        OpenDialog1.Title := '選擇Excel文件';
        OpenDialog1.Filter := 'Excel文件(*.xls)|*.xls';
    end;
    if AnsiUpperCase(FileExt) = 'DBF' then
    begin
        OpenDialog1.Title := '選擇抄表機(jī)調(diào)試庫(kù)文件';
        OpenDialog1.Filter := 'Foxpro自由表文件(*.dbf)|*.dbf';
    end;

    if not OpenDialog1.Execute then exit;
    if OpenDialog1.FileName = '' then exit;
    result := true;
end;

function TForm1.Jcdnb2Txt(FileName: string):Boolean;
var
    ExcelStr, dbfstr: string;
    FileNum : integer;
begin
    result := true;
    try
        receive.Lines.Add(OpenDialog1.Files.CommaText);
        self.Cursor := crhelp;
        for FileNum := 0 to (OpenDialog1.Files.Count-1) do
        begin
            dbfstr := ExtractFileName(OpenDialog1.Files.Strings[FileNum]);
            if FileName <> '' then dbfstr := FileName;
            if AnsiUpperCase(rightstr(dbfstr, 3)) = 'DBF' then
                receive.Lines.Add('正在處理' + dbfstr + ',請(qǐng)稍后...');
            ExcelStr := dbfstr;
            ExcelStr := ChangeFileExt(ExcelStr, '.txt'); //改后綴名
            ExcelStr := StringReplace(ExcelStr, ' ', '', [rfReplaceAll]); //'Abcd'  置換字符串
            if Pos('jcdnb', ExcelStr) = 1 then
                ExcelStr := rightbstr(ExcelStr, length(ExcelStr)-5);
            receive.Lines.Add('正在處理' + trim(ExcelStr));
            CopyDbfFile('Txt\' + trim(ExcelStr),'Temp.tx');

            ADOQuery1.ConnectionString := JcdnbConStr;
            ADOQuery1.SQL.Clear;
            if FileExists(ExtractFilePath(application.ExeName) + 'jcdnb\' + DbfTemp) then
                DeleteFile(ExtractFilePath(application.ExeName) + 'jcdnb\' + DbfTemp);
            RenameFile(ExtractFilePath(application.ExeName) + 'jcdnb\' + dbfstr,
                ExtractFilePath(application.ExeName) + 'jcdnb\' + DbfTemp);
            ADOQuery1.SQL.Add('select * from  ' + DbfTemp);
            ADOQuery1.Open;

            Application.ProcessMessages;
            while not ADOQuery1.Eof do
            begin
                receive.Lines.Add(ADOQuery1.Fields[7].AsString+ ' , '+
                    ADOQuery1.Fields[13].AsString);

                WriteFile('Txt\' + trim(ExcelStr),ADOQuery1.Fields[7].AsString +
                    ADOQuery1.Fields[13].AsString+#13#10);
                ADOQuery1.Next;
            end;
            ADOQuery1.Close;
            if FileExists(ExtractFilePath(application.ExeName) + 'jcdnb\' + dbfstr) then
                DeleteFile(ExtractFilePath(application.ExeName) + 'jcdnb\' + dbfstr);
            RenameFile(ExtractFilePath(application.ExeName) + 'jcdnb\' + DbfTemp,
                ExtractFilePath(application.ExeName) + 'jcdnb\' + dbfstr);
            
            receive.Lines.Add('處理' + OpenDialog1.Files.Strings[FileNum] + '完畢,進(jìn)行下一個(gè)操作!');
            if FileName <> '' then exit;
        end;

        receive.Lines.Add(' 處理dbf文件完畢,謝謝使用!!');
        self.Cursor := crdefault;
    except
        ADOQuery1.Close;
        receive.Lines.Add('請(qǐng)檢查dbf文件,確認(rèn)信息正確!!');
        self.Cursor := crdefault;
        result := false;
    end;
end;

function TForm1.E2Jc(Jc2Txt: Boolean;JcFlag: Byte) :Boolean;
var
    ExcelStr, dbfstr, tempstr: string;
    i, j, FileNum, RowStart: integer;
    BH,DZ,CLDH,CJZDCLDH,JZQH,CJQH: integer;
    ExcelApp, aSheet: Variant;
begin
    result := true;
    try
        receive.Lines.Add(OpenDialog1.Files.CommaText);
        self.Cursor := crAppStart;
        ExcelApp := CreateOLEObject('Excel.Application');
        for FileNum := 0 to (OpenDialog1.Files.Count-1) do
        begin
            dbfstr := ExtractFileName(OpenDialog1.Files.Strings[FileNum]);
            if AnsiUpperCase(rightstr(dbfstr, 3)) = 'XLS' then
                receive.Lines.Add('正在處理' + OpenDialog1.Files.Strings[FileNum] + ',請(qǐng)稍后...');
            ExcelStr := ExtractFileName(OpenDialog1.Files.Strings[FileNum]);
            ExcelStr := ChangeFileExt(ExcelStr, '.dbf'); //改后綴名
            if JcFlag = 0 then
                ExcelStr := 'Rbjcdnb' + StringReplace(ExcelStr, ' ', '', [rfReplaceAll]); //'Abcd'  置換字符串
            if JcFlag = 1 then
                ExcelStr := 'Hgjcdnb' + StringReplace(ExcelStr, ' ', '', [rfReplaceAll]); //'Abcd'  置換字符串
            receive.Lines.Add('正在處理' + trim(ExcelStr));
            CopyDbfFile('jcdnb\' + DbfTmp,'jcdnb.db');

            ADOQuery1.ConnectionString := JcdnbConStr;
            ADOQuery1.SQL.Clear;
            ADOQuery1.SQL.Add('select * from ' + DbfTmp);
            ADOQuery1.Open;

            ExcelApp.workBooks.Open(OpenDialog1.Files.Strings[FileNum]);
            aSheet := ExcelApp.Worksheets[1];
            ExcelApp.Worksheets[1].activate;
            //判斷起始行
            for RowStart := 1 to 10 do
            begin
                j := 0;
                for i := 1 to 10 do
                begin
                    if length(VarToStrDef(ExcelApp.Cells[RowStart, i].Value, '')) > 0 then
                        j := j + 1;
                end;

                if j >= 2 then break;
            end;

            if j < 2 then
            begin
                    //  showmessage('起始行!'+inttostr(RowStart));
                    // showmessage('此Excel文件錯(cuò)誤!');
                    // exit;
            end;
            //判斷起始行


            //判斷  項(xiàng)目XMNUM  表號(hào)BHNUM 地址DZNUM 段號(hào)DHNUM  段序號(hào)DXHNUM
            for i := 1 to 50 do
            begin //i is column

                if Pos('表號(hào)', VarToStrDef(ExcelApp.Cells[RowStart, i].Value, '')) > 0 then
                    BH := i;

                if Pos('地址', VarToStrDef(ExcelApp.Cells[RowStart, i].Value, '')) > 0 then
                    DZ := i;

                if Pos('集中器', VarToStrDef(ExcelApp.Cells[RowStart, i].Value, '')) > 0 then
                    JZQH := i;

                if Pos('采集器', VarToStrDef(ExcelApp.Cells[RowStart, i].Value, '')) > 0 then
                    CJQH := i;
            end;

{    ExcelWorksheet1.UsedRange.Sort();
            aSheet.UsedRange.sort(A2,xlAscending,B2,
                xlSortValues,xlAscending,C2,xlDescending,xlYes,1,
                False,xlSortRows,xlPinYin,xlSortNormal,xlSortNormal,xlSortNormal);
}
            Application.ProcessMessages;
            tempstr := FormatDateTime('yyyy-mm-dd hh:mm:ss', now);
            CLDH := 1;
            CJZDCLDH := 1;
            for i := RowStart + 1 to aSheet.UsedRange.Rows.Count do
            begin //  aSheet.UsedRange.Rows.Count
                if VarToStrDef(ExcelApp.Cells[i, BH].Value, '') = '' then continue; //遇到總戶號(hào)為空跳過
                if dbfstr = rightstr('000000000' +
                    VarToStrDef(ExcelApp.Cells[i, BH].Value, ''), 9) then continue;//表號(hào)相同跳過

                receive.Lines.Add(rightstr('000000000' + VarToStrDef(ExcelApp.Cells[i, BH].Value, ''), 9)+ ' , '+
                    rightstr('000000000000' + VarToStrDef(ExcelApp.Cells[i, JZQH].Value, ''), 12));

                ADOQuery1.Append;
                ADOQuery1.Fields[0].AsString := rightstr('000000000000' + VarToStrDef(ExcelApp.Cells[i, JZQH].Value, ''), 12); //JZQH
                ADOQuery1.Fields[1].AsString := rightstr('000000000' + VarToStrDef(ExcelApp.Cells[i, BH].Value, ''), 9);  //BH
                ADOQuery1.Fields[2].AsString := VarToStrDef(ExcelApp.Cells[i, DZ].Value, ''); //DZ
                ADOQuery1.Fields[3].AsString := inttostr(CLDH); //CLDH
                ADOQuery1.Fields[4].AsString := '3'; //DKH
                ADOQuery1.Fields[5].AsString := '1'; //TXGY
                if JcFlag = 0 then
                    ADOQuery1.Fields[6].AsString := '1'; //DBLX
                if JcFlag = 1 then
                    ADOQuery1.Fields[6].AsString := '0'; //DBLX
                ADOQuery1.Fields[7].AsString := rightstr('000000000000' + VarToStrDef(ExcelApp.Cells[i, BH].Value, ''), 12); //TXDZ
                if JcFlag = 0 then
                    ADOQuery1.Fields[8].AsString := '0000'; //TXMM
                if JcFlag = 1 then
                    ADOQuery1.Fields[8].AsString := '123456'; //TXMM
                if JcFlag = 0 then

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色老综合老女人久久久| 99久久777色| 亚洲综合色自拍一区| 精品久久人人做人人爱| 91蜜桃传媒精品久久久一区二区| 日韩精品乱码av一区二区| 国产精品久久国产精麻豆99网站| 欧美日韩免费在线视频| 不卡欧美aaaaa| 精品一区二区三区在线播放| 亚洲裸体在线观看| 久久精品视频一区二区三区| 欧美精品三级在线观看| www.亚洲精品| 国产一区二区三区免费在线观看| 亚洲成人免费av| 中文字幕一区二区三区在线不卡| 精品999久久久| 欧美日韩成人综合| 色婷婷综合久久久中文一区二区| 成人激情黄色小说| 国产一区二区三区久久久| 蜜桃久久久久久| 婷婷成人激情在线网| 亚洲一卡二卡三卡四卡五卡| 成人欧美一区二区三区视频网页| 欧美国产精品一区二区三区| 26uuu精品一区二区在线观看| 日韩一卡二卡三卡国产欧美| 欧美精品久久天天躁| 欧美日韩在线综合| 91福利国产精品| 91福利视频久久久久| 色哟哟日韩精品| 一本色道久久加勒比精品 | 一区二区三区欧美久久| 国产网站一区二区| 亚洲精品在线观看视频| 精品蜜桃在线看| 精品国产网站在线观看| 日韩一卡二卡三卡| 欧美成人一区二区三区| 日韩欧美区一区二| 精品免费国产二区三区| 久久欧美中文字幕| 久久精品一区二区三区不卡 | 国产一区二区三区香蕉 | 精品亚洲成a人在线观看| 七七婷婷婷婷精品国产| 日本午夜一本久久久综合| 视频在线观看国产精品| 另类人妖一区二区av| 精品亚洲aⅴ乱码一区二区三区| 狠狠色丁香久久婷婷综合丁香| 国内精品第一页| 国产69精品久久777的优势| 成人va在线观看| 色悠悠久久综合| 91麻豆精品国产自产在线 | 欧美日韩中文精品| 欧美精品三级日韩久久| 精品福利一区二区三区免费视频| 国产日韩欧美a| 综合久久久久久| 亚洲夂夂婷婷色拍ww47| 日韩电影在线观看电影| 国产成人精品亚洲午夜麻豆| 91在线无精精品入口| 欧美日韩一区高清| 精品乱码亚洲一区二区不卡| 亚洲欧洲另类国产综合| 亚洲成在人线在线播放| 激情小说欧美图片| 92国产精品观看| 日韩写真欧美这视频| 日本一区二区三区电影| 亚洲资源中文字幕| 国产一区亚洲一区| 在线中文字幕一区| 精品久久久久久久人人人人传媒| 国产精品无圣光一区二区| 亚洲综合激情网| 国产伦精品一区二区三区免费| 99视频热这里只有精品免费| 欧美一区二区三区日韩| 国产精品免费视频网站| 日韩精品国产精品| 成人国产电影网| 欧美一级欧美一级在线播放| 中文字幕一区二区三区在线播放| 视频精品一区二区| 丰满亚洲少妇av| 欧美一区二区三区色| 亚洲免费av高清| 国产精品一区二区x88av| 91成人在线精品| 中文字幕不卡三区| 欧美bbbbb| 欧美私人免费视频| 中文字幕视频一区| 国产自产视频一区二区三区| 欧美丝袜丝交足nylons| 国产精品美女一区二区三区| 久久狠狠亚洲综合| 欧美日韩1234| 亚洲一区二区综合| av不卡一区二区三区| 国产夜色精品一区二区av| 婷婷国产在线综合| 在线观看免费亚洲| 亚洲欧美中日韩| 国产精品白丝jk白祙喷水网站| 51久久夜色精品国产麻豆| 亚洲老司机在线| 国产成人8x视频一区二区| 日韩视频免费观看高清完整版在线观看| 亚洲人成精品久久久久| 成人小视频在线| 久久亚洲二区三区| 裸体在线国模精品偷拍| 欧美精品在线一区二区三区| 一色屋精品亚洲香蕉网站| 国产成人精品综合在线观看 | 91精品免费观看| 一区二区三区四区高清精品免费观看| 丁香激情综合国产| 欧美国产国产综合| 国产东北露脸精品视频| 欧美精品一区二区精品网| 日本视频在线一区| 在线电影国产精品| 亚洲国产精品尤物yw在线观看| 色综合久久88色综合天天| 亚洲六月丁香色婷婷综合久久| 91色视频在线| 中文字幕一区二区三区精华液| 国产福利一区二区三区| 国产欧美日韩精品一区| 高清在线不卡av| 国产精品久久夜| 色综合一个色综合| 亚洲精品欧美在线| 欧美日韩在线观看一区二区 | 老鸭窝一区二区久久精品| 日韩视频在线你懂得| 另类专区欧美蜜桃臀第一页| 欧美tickle裸体挠脚心vk| 国内成人免费视频| 中文字幕乱码久久午夜不卡| 99久久精品国产一区二区三区| 亚洲欧美乱综合| 欧美性色欧美a在线播放| 婷婷综合五月天| 日韩欧美成人激情| 国产高清成人在线| 亚洲免费观看视频| 91精品欧美久久久久久动漫| 国产一区二区三区四区五区入口 | 亚洲蜜桃精久久久久久久| 欧美性欧美巨大黑白大战| 婷婷成人激情在线网| 久久亚洲欧美国产精品乐播| 高清成人免费视频| 亚洲自拍都市欧美小说| 日韩精品一区二区三区老鸭窝| 国产成人高清视频| 亚洲视频图片小说| 制服丝袜日韩国产| 国产激情一区二区三区四区| 亚洲丝袜美腿综合| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲一二三级电影| 欧美成人性福生活免费看| 成人黄色av网站在线| 日韩精品一级中文字幕精品视频免费观看 | 精品在线你懂的| 亚洲欧美在线aaa| 日韩欧美国产小视频| av亚洲精华国产精华精华| 亚洲成人av免费| 久久精品视频一区二区三区| 欧美在线影院一区二区| 激情五月婷婷综合网| 亚洲精品高清在线观看| 精品免费国产二区三区| 在线观看av一区| 国产高清不卡一区| 日韩精品成人一区二区三区| 中文字幕欧美激情一区| 在线播放91灌醉迷j高跟美女| 国产精品亚洲一区二区三区在线| 亚洲风情在线资源站| 中文在线资源观看网站视频免费不卡| 欧美日韩一区二区电影| 成人午夜免费av| 久草在线在线精品观看| 亚洲一级电影视频| 国产精品家庭影院| 久久综合色8888| 正在播放一区二区|