⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uaphoto1.pas

📁 将Canon相机拍照后自动存放到本地机器的照片
💻 PAS
📖 第 1 页 / 共 2 页
字号:
        DirPath3:=DirPath2+'\'+DBEdit4.Text;
        ADOQuery1.Post;
        ShowMessage('照片在本地位置是:'+NewDirPath+'\'+ADOQuery1.FieldByName('FILENAME').AsString);

        //保存到本地,
        if not DirectoryExists(DirPath1) then
          if not CreateDir(DirPath1) then
          raise Exception.Create('Cannot create '+DirPath1);
        if not DirectoryExists(DirPath2) then
          if not CreateDir(DirPath2) then
          raise Exception.Create('Cannot create '+DirPath2);
        if not DirectoryExists(DirPath3) then
          if not CreateDir(DirPath3) then
          raise Exception.Create('Cannot create '+DirPath3);
          F2 := TFileStream.Create(DirPath3+'\'+Edit3.Text,fmCreate);
       TBlobField(AdoQuery1.FieldByName('PHOTO')).SaveToStream(F2);
  finally
        ADOQuery1.Close;
        F.Free;
        F2.Free;
  end;
       DeleteFile(OldDirPath+'\'+Pre+OldNumber2+'.jpg');
       ini.WriteString('CANON','CURRENTNUM',NewNumberString2);
       Edit4.Text:=OldNumber1;
       Edit2.Text:='';
       Edit3.Text:='';
       Label8.Visible:=False;
       Label9.Visible:=False;
       Edit2.Visible:=False;
       Edit3.Visible:=False;
       Button3.Visible:=False;
       Button4.Visible:=False;

       //从界面上,清除上一条记录的过程,
       Label12.Caption:='';
       Label13.Caption:='';
       Label14.Caption:='';
       Label17.Caption:='';
       Label15.Caption:='';
       Edit5.Text:='';
       Image1.Picture.Assign(nil);
       Image2.Picture.Assign(nil);
       Button5.Enabled:=False;
       Button2.Enabled:=False;
       ini.WriteString('CANON','CURRENTNUM',OldNumber1);
end;

{按下“取消”按钮时,}
procedure TPhotoSystem.Button4Click(Sender: TObject);
var
  content:String;
  F:File;
begin
  Try
    AssignFile(F,OldDirPath+'\'+Pre+OldNumber2+'.jpg');             //从公共区间 删除照片文件,被删除照片的文件名?
    Reset(F);
    CloseFile(F);
    Erase(F);
  except
    ShowMessage('删除照片错误!');
  end;
     ADOQuery1.Close;
     ADOQuery1.SQL.Clear;
     Label8.Visible:=False;
     Label9.Visible:=False;
     Edit2.Visible:=False;
     Edit3.Visible:=False;
     Button3.Visible:=False;
     Button4.Visible:=False;

     //从界面上,清除上一条记录的过程,
     Label12.Caption:='';
     Label13.Caption:='';
     Label14.Caption:='';
     Label17.Caption:='';
     Label15.Caption:='';
     Edit5.Text:='';
     Image1.Picture.Assign(nil);
     Image2.Picture.Assign(nil);
     Button5.Enabled:=False;
     Button2.Enabled:=False;
     ini.WriteString('CANON','CURRENTNUM',OldNumber1);
     Edit4.Text:=OldNumber1;
end;

procedure TPhotoSystem.FormCreate(Sender: TObject);
var
  i:integer;
  startNumber:String;
  temp1:String;
begin
   //ADOQuery1.Active:=False;
   Label1.width:=300;
   Label8.Width:=100;
   Label10.width:=200;
   Label11.Width:=100;
   PhotoSystem.Height:=740;
   Label11.Width:=120;
   Panel5.Width:=330;
   Panel5.Height:=440;
   Button6.Visible:=False;
   Button7.Visible:=False;
   Label8.Visible:=False;
   Label9.Visible:=False;
   Edit2.Visible:=False;
   Edit3.Visible:=False;
   Button3.Visible:=False;
   Button4.Visible:=False;
   Edit5.Text:='';
   Edit6.Text:='';
   Edit4.Enabled:=False;
   Button5.Enabled:=False;
   Button2.Enabled:=False;
   Label12.Caption:='';
   //Label12.Width:=180;
   Label13.Caption:='';
   Label14.Caption:='';
   Label15.Caption:='';
   Label17.Caption:='';

   fn:=ExtractFilePath(Paramstr(0))+'file.ini';
   ini:=TiniFile.Create(fn);
   OldDirPath:=ini.ReadString('FILEDIR','OLDDIR','');
   NewDirPath:=ini.ReadString('FILEDIR','NEWDIR','');
   Pre:=ini.ReadString('FILEDIR','PRENAME','');
   NumberLen:=ini.ReadInteger('FILEDIR','NUMBER',0);
   StartNum:=ini.ReadString('FILEDIR','STARTNUM','');
   temp1:='0000000000'+StartNum;
   startNumber:=Copy(temp1,(Length(temp1)-NumberLen+1),NumberLen);
   ini.WriteString('CANON','INITNUM',startNumber);
   initNumber:=ini.ReadString('CANON','INITNUM','');
   ini.WriteString('CANON','CURRENTNUM',startNumber);
   addLength:=ini.ReadInteger('CANON','LENGTH',0);
   OldNumber1:=ini.ReadString('CANON','INITNUM','');
   Edit4.Text:=ini.ReadString('CANON','INITNUM','');

   user1:=ini.ReadString('DATABASE','USER','');
   pwd1:=ini.ReadString('DATABASE','PASSWORD','');
   database1:=ini.ReadString('DATABASE','DATASOURCE','');
   //ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Password=db2inst4;Persist Security Info=True;User ID=db2inst4;Data Source=h_test2';
   ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Password='+pwd1+';Persist Security Info=True;User ID='+user1+';Data Source='+database1;
   ADOConnection1.Connected:=True;
   if ADOConnection1.State<>[stOpen] then
   begin
     ShowMessage('连接接数据库不成功!请手动修改配置文件..\file.ini 的值!然后尝试重新启动程序连接数据库');
     PhotoSystem.Close;
   end;
end;

procedure TPhotoSystem.Button5Click(Sender: TObject);
begin
  Button5.Visible:=False;
  Edit4.Enabled:=True;
  Button2.Enabled:=False;
  Button6.Visible:=True;
  Button7.Visible:=True;
  mask1:=Edit4.Text;
end;

procedure TPhotoSystem.Button6Click(Sender: TObject);
begin
  Button2.Enabled:=True;
  Button6.Visible:=False;
  Button7.Visible:=False;
  Button5.Visible:=True;
  Edit4.Enabled:=False;
  //ini.WriteString('CANON','CURRENTNUM',Edit4.Text);
end;

procedure TPhotoSystem.Button7Click(Sender: TObject);
begin
        Button2.Enabled:=True;
        Button6.Visible:=False;
        Button7.Visible:=False;
        Button5.Visible:=True;
        Edit4.Enabled:=False;
        Edit4.Text:=mask1;
end;

procedure TPhotoSystem.Edit1Enter(Sender: TObject);
begin
       // Button1Click(nil);
       ShowMessage('Pressed Enter');
end;



procedure TPhotoSystem.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key=13) and (Edit1.Text<>'') then
    Button1Click(nil);
end;

procedure TPhotoSystem.file1Click(Sender: TObject);
var
  i:integer;
  startNumber2:String;
  temp2:String;
begin
  SetOption:=TSetOption.Create(nil);
  SetOption.ShowModal;
  if SetOption.ModalResult=mrOk then
  begin
    if (SetOption.Edit8.Text='') or (SetOption.Edit3.Text='') or (SetOption.Edit4.Text='') or (SetOption.Edit2.Text='') or (SetOption.Edit5.Text='') then
    begin
      ShowMessage('请填写完整');
      exit;
    end;
    if SetOption.Edit8.Text<>'' then
      ini.WriteString('FILEDIR','PRENAME',Trim(SetOption.Edit8.Text)+'_');
    if SetOption.Edit3.Text<>'' then
      ini.WriteString('FILEDIR','NUMBER',Trim(SetOption.Edit3.Text));
    if SetOption.Edit4.Text<>'' then
      ini.WriteString('FILEDIR','STARTNUM',Trim(SetOption.Edit4.Text));
    if SetOption.Edit2.Text<>'' then
      ini.WriteString('FILEDIR','OLDDIR',Trim(SetOption.Edit2.Text));
    if SetOption.Edit5.Text<>'' then
      ini.WriteString('FILEDIR','NEWDIR',Trim(SetOption.Edit5.Text));

    //配置文件修改了,要做相应的修改
    OldDirPath:=ini.ReadString('FILEDIR','OLDDIR','');
     NewDirPath:=ini.ReadString('FILEDIR','NEWDIR','');
     Pre:=ini.ReadString('FILEDIR','PRENAME','');
     NumberLen:=ini.ReadInteger('FILEDIR','NUMBER',0);
     StartNum:=ini.ReadString('FILEDIR','STARTNUM','');
     temp2:='0000000000'+StartNum;
     startNumber2:=Copy(temp2,(Length(temp2)-NumberLen+1),NumberLen);
     ini.WriteString('CANON','INITNUM',startNumber2);
     initNumber:=ini.ReadString('CANON','INITNUM','');
     ini.WriteString('CANON','CURRENTNUM',startNumber2);
     addLength:=ini.ReadInteger('CANON','LENGTH',0);
     OldNumber1:=ini.ReadString('CANON','INITNUM','');
     Edit4.Text:=ini.ReadString('CANON','INITNUM','');
  end;
  SetOption.free;
end;

procedure TPhotoSystem.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  PhotoSystem.Align:=alNone;
end;

procedure TPhotoSystem.FormClick(Sender: TObject);
begin
  PhotoSystem.Align:=alNone;
end;

end.




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -