myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Fotos anschauen, ja oder nein klicken, automatische Verschiebung in Ordner (https://mygully.com/showthread.php?t=2027437)

heysamhey 14.04.10 20:30

Fotos anschauen, ja oder nein klicken, automatische Verschiebung in Ordner
 
Hello,
Ich habe immer sehr viele Fotos, die aber nicht immer gut sind.
Nun möchte ich ein kleines Programm, beidem jedes einzelne Bild nacheinander angezeigt wird, ich dann auswählen kann "GUT" oder "SCHLECHT" und dann das Bild in einen Ordner für gute Bilder bzw. in den Schlechtbilderordner verschoben aber nicht gelöscht wird.

Ich weiss nicht ob das einfach zu machen ist, bin aber um jede Antwort froh.:T

Programmiersprache ist egal!

heysamhey:D

Gun_der 14.04.10 21:00

Wie wärs mit delphi?

Sollte gehen mit drivecombobox, filelistbox...
da kannst du dir die bilder raussuchen und sicher auch gleich dann per button in einen gewünschten ordner verschieben

Code:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs ,StdCtrls, ExtCtrls, jpeg, FileCtrl;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Bild: TImage;
    BtLaden: TButton;
    BtSchliessen: TButton;
    BtLoeschen: TButton;
    DriveComboBox1: TDriveComboBox;
    DirectoryListBox1: TDirectoryListBox;
    FileListBox1: TFileListBox;
    Pfad: TPanel;
    ComboBox1: TComboBox;

    procedure BtSchliessenClick(Sender: TObject);

    procedure BtLadenClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BtLoeschenClick(Sender: TObject);
    procedure FileListBox1Change(Sender: TObject);
    procedure FileListBox1DblClick(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);

  private                                  //kapselung
    { Private-Deklarationen }
    Bildpfad: String;

  public
    { Public-Deklarationen }


  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}                  //Compileranweisung

procedure TForm1.BtSchliessenClick(Sender: TObject);
begin
close;
end;

procedure TForm1.BtLadenClick(Sender: TObject);
begin

  bild.Picture.LoadFromFile(Bildpfad);

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Bildpfad:='';
end;

procedure TForm1.BtLoeschenClick(Sender: TObject);
begin

bild.Picture:=nil;

end;


procedure TForm1.FileListBox1Change(Sender: TObject);
begin
  Pfad.Caption := Filelistbox1.FileName;
  Bildpfad := Pfad.caption;
end;

procedure TForm1.FileListBox1DblClick(Sender: TObject);
begin
    bild.Picture.LoadFromFile(Bildpfad);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
case combobox1.Itemindex of

0:  filelistbox1.Mask:= '*.jpg';

1:  filelistbox1.Mask:= '*.bmp';
end;
end;

end.


das wäre ein code für den Betrachter.
Jetzt musst du nur noch die Buttons für schlecht und gut einfügen und beschreiben

Gun_der 15.04.10 18:17

So hier ist der ganze quellcode. Musst nur noch deinen Pfad und das Format richtig einstellen und die Komponenten so umbenennen...bei den Kommis ganz unten^^

Code:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs ,StdCtrls, ExtCtrls, jpeg, FileCtrl;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Bild: TImage;
    BtLaden: TButton;
    BtSchliessen: TButton;
    BtLoeschen: TButton;
    DriveComboBox1: TDriveComboBox;
    DirectoryListBox1: TDirectoryListBox;
    FileListBox1: TFileListBox;
    Pfad: TPanel;
    FilterComboBox1: TFilterComboBox;
    BtGut: TButton;
    BtSchlecht: TButton;

    procedure BtSchliessenClick(Sender: TObject);

    procedure BtLadenClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BtLoeschenClick(Sender: TObject);
    procedure FileListBox1Change(Sender: TObject);
    procedure FileListBox1DblClick(Sender: TObject);
    procedure BtGutClick(Sender: TObject);
    procedure BtSchlechtClick(Sender: TObject);


  private                                  //kapselung
    { Private-Deklarationen }
    Bildpfad: String;
    Quelle:String;
    Ziel:String;
    bildnamegut:integer;
    Bildnamegutstr:String;
    bildnameschlecht:Integer;
    Bildnameschlechtstr:String;

  public
    { Public-Deklarationen }


  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}                  //Compileranweisung

procedure TForm1.BtSchliessenClick(Sender: TObject);
begin
close;
end;

procedure TForm1.BtLadenClick(Sender: TObject);
begin

  bild.Picture.LoadFromFile(Bildpfad);

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Bildpfad:='';
  bildnamegut:=1;
  bildnameschlecht:=1;
end;

procedure TForm1.BtLoeschenClick(Sender: TObject);
begin

bild.Picture:=nil;

end;


procedure TForm1.FileListBox1Change(Sender: TObject);
begin
  Pfad.Caption := Filelistbox1.FileName;
  Bildpfad := Pfad.caption;
end;

procedure TForm1.FileListBox1DblClick(Sender: TObject);
begin
    bild.Picture.LoadFromFile(Bildpfad);
end;



procedure TForm1.BtGutClick(Sender: TObject);
begin
bildnamegutstr:=Inttostr(Bildnamegut);
copyfile(PChar(Pfad.caption),PChar('Zielpfad eingeben'+bildnamegutstr+'Format eingeben'),false);    //Kopiert gute Bilder.....FORMAT UND PFAD RICHTIG SETZEN!!!.....FORMAT MIT PUNKT Z.B.  .jpg
bildnamegut:=bildnamegut+1;
end;

procedure TForm1.BtSchlechtClick(Sender: TObject);
begin
 bildnameschlechtstr:=Inttostr(Bildnameschlecht);
copyfile(PChar(Pfad.caption),PChar('Zielpfad eingeben'+bildnameschlechtstr+'Format eingeben'),false);    //Kopiert schlecht Bilder.....FORMAT UND PFAD RICHTIG SETZEN!!!
bildnameschlecht:=bildnameschlecht+1;
end;

end.


urga 16.04.10 18:15

@Gun_der,
schonmal was vom
Code:

code-tag
gehört?

@heysamhey
sowas geht auch mit VS Express (c#, vb) ziemlich einfach.
und ist eine nette einarbeitungsaufgabe. funzt ziemlich analog zu Gun_der's lösung.

Gun_der 16.04.10 20:16

@ urga

O sorry hab hier das erste mal reingeschrieben^^
Werds berücksichtigen^^

thrash_master 21.04.10 08:20

Moin, hab mich da mal drangesetzt und versuche das mit VB zu lösen. Wenn es denn funktioniert wie es soll sag ich bescheid.

Grüße

heysamhey 26.04.10 20:59

habe den code nun in delphi 7 PE was soll ich aber nun tun um ans gewünschte .exe programm zu kommen ??

habe noch (fast) nicht programmiert... sorry:rolleyes:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.