Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2011, 20:02   #1
Slayer2707
 
Регистрация: 13.03.2011
Сообщений: 9
По умолчанию Программа для работы с графическими файлами

Помогите пожалуйста с заданием:

На жестком диске С: в различных папках имеются файлы с графическими изображениями. Нужно создавать списки таких файлов, используя заданные критерии (например, тип, общая часть имени, дата создания, дата последнего изменения, место расположения и т.д.). Эти списки должны храниться в специальных файлах в отдельной папке. Должна иметься возможность просматривать как списки, так и изображения

на Delphi
Slayer2707 вне форума Ответить с цитированием
Старый 14.03.2011, 10:39   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Ваш выбор :

Показывайте Ваши наработки и ставьте конкретные вопросы/шаманьте с гуглом/называйте бюджет

?
phomm вне форума Ответить с цитированием
Старый 14.03.2011, 11:07   #3
Slayer2707
 
Регистрация: 13.03.2011
Сообщений: 9
По умолчанию вот что сделал

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    DirLst: TDirectoryListBox;
    FileEd: TEdit;
    FileLst: TFileListBox;
    DriveComboBox1: TDriveComboBox;
    FilterCb: TFilterComboBox;
    ImgSb: TScrollBox;
    Img: TImage;
    BitBtn1: TBitBtn;
    Button1: TButton;
    SaveDialog1: TSaveDialog;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    OpenDialog1: TOpenDialog;
    ListBox1: TListBox;
    BitBtn4: TBitBtn;
    procedure FileLstDblClick(Sender: TObject);
    procedure ImgDblClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;



var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FileLstDblClick(Sender: TObject);
begin
Img.Picture.LoadFromFile(FileLst.FileName);

end;

procedure TForm1.ImgDblClick(Sender: TObject);
begin
Img.Proportional:=not Img.Proportional;
if Img.Proportional then
Img.Align:=alClient else
Img.Align:=alNone;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var i:integer;
begin
Listbox1.AddItem(FileLst.filename,nil);

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Listbox1.DeleteSelected;

end;

procedure TForm1.BitBtn3Click(Sender: TObject);
var i:Integer;
s,s1:string;
begin
if not OpenDialog1.Execute then
exit;
Listbox1.Items.LoadFromFile(OpenDialog1.FileName);
end;


procedure TForm1.BitBtn4Click(Sender: TObject);
begin
Img.Proportional:=not Img.Proportional;
if Img.Proportional then
Img.Align:=alClient else
Img.Align:=alNone;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);

var i:integer;
    f:TextFile;
  begin
  if SaveDialog1.Execute then
     begin
     AssignFile(f,SaveDialog1.FileName);
     Rewrite(f);
     for i:=0 to Listbox1.Items.Count-1 do
     begin
     Write(f,Listbox1.Items[i]+#13#10);
                end;
                CloseFile(f);
end;
end;

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 14.03.2011 в 11:42.
Slayer2707 вне форума Ответить с цитированием
Старый 14.03.2011, 11:08   #4
Slayer2707
 
Регистрация: 13.03.2011
Сообщений: 9
По умолчанию

Только вместо листбокса думаю лучше stringgrid как все реализовать???


_____________________________
Не надо плодить подряд несколько коротких сообщений!
Это нарушение правил...
для того, чтобы через минуту/другую дописать сообщение,
не надо создавать ещё один новый пост.
нажимайте на предыдущем кнопку "Правка"
и дописывайте в своё сообщение, что Вы хотели добавить!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 14.03.2011 в 11:42.
Slayer2707 вне форума Ответить с цитированием
Старый 15.03.2011, 10:59   #5
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Извините, а можно сразу проектом, прикрепите к посту, а то функционал программы далеко не только алгоритмом ограничивается, сколько рутиной, а самому по Вашему модулю форму кропать не с руки.
И ,как я понимаю, Вы не имеете структуры Вашего списочного файла, вот её бы тоже как-нибудь обозначили.. или просто путь/тип/дата/т.д. ? всё на строке с разделителями и грузится в грид ?
ну и там кнопка есть - добавить картинку в список и грид, и наверное openpicturedialog , ну и сохранить/загрузить тоже кнопки или менюшка.

Говорите конкретней, и проект не забудьте, чтобы можно сразу взяться за работу а не терять время, оно ведь ценно
phomm вне форума Ответить с цитированием
Старый 16.03.2011, 19:10   #6
Slayer2707
 
Регистрация: 13.03.2011
Сообщений: 9
По умолчанию

вот надеюсь разберетесь но там еще не добавляет даже просто и надо сделать подпись каждой колонке
Вложения
Тип файла: rar zad.rar (262.2 Кб, 8 просмотров)
Slayer2707 вне форума Ответить с цитированием
Старый 17.03.2011, 14:27   #7
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

подписи Вы сами сделайте ) это понятно, и врдя ли вызовет затруднения.

А вот то, что вы там на нескольких битбатонах какую-то загрузку непонятную делаете, это как я понял попытки сделать нечто такое, в результате чего из текстового файла будут считываться данные ?

мой вам простой совет : делаете запись
Код:
Timg = record
  path = string[255]; думаю можно сделать допущение о длине пути к файлу не более 255 символов
  itype : string[сколько-то, например 5]; храним тип или расширение, тут уж от задачи зависит, вдруг надо мочь выделять имаги с типом не соотв расширению
size : integer; тут понятно
crdate : tdatetime; дата создания
ну и ещё что придумаете
end;
и чтобы грузить/сохранять эту красоту используете f : file of Timg; и в массив их array of timg для работы в запущенной проге
чтобы отображать - цикл типа
Код:
for i .. do
with stringgrid do begin
cells[i,1] := mas[i].path;
cells[i,2] := mas[i].itype
cells[i,3] := inttostr(mas[i].size) 
cells[i,4] := datetostr(mas[i].crdate)
end;
ну и для добавления в текущий открытый список - надо каждый добавленный файл закидывать так

Код:
var tmpimg : timg;
...
грузим файл в f
...
with tmpimg do begin
tmpimg.path := extractfilepath(f);
tmpimg.itype:= extractfileext(f);
tmpimg.size := getfilesize(f) что-то такое, конкретные функции 
tmpimg.crdate := getfiledate(f) тоже надо чутка погуглить или даже на форуме глянуть
end;
mas[очередной] := tmpimg;
phomm вне форума Ответить с цитированием
Старый 19.03.2011, 11:09   #8
Slayer2707
 
Регистрация: 13.03.2011
Сообщений: 9
По умолчанию

спасибо большое за помощь и вы правы битбатоны я делал чтобы можно было сохранять и загружать обратно список например из текстового файла.а вы не могли бы скинуть переделанную уже вами мою прогу а то смотрю в код и понимаю что я совсем нубас в делфи)
p.s.и вы не знаете как можно вот например я забил файлы в список-сохранил в каком то файле там будут указаны пути ко всем файлам из списка и потом я загружаю например файл со списком обратно и можно было проверить существуют ли еще файлы по пути который дан то есть вдруг какой то файл из списка удален..и типа файл помечался бы красным цветом???
Slayer2707 вне форума Ответить с цитированием
Старый 21.03.2011, 11:35   #9
Slayer2707
 
Регистрация: 13.03.2011
Сообщений: 9
По умолчанию

вот сейчас что сделал подскажите как можно проверять файлы в stringgride на удаление то есть существует ли еще файл или нет и как вывести по имени файла его дату создание надеюсь что разберетесь и поможете
Вложения
Тип файла: rar zad.rar (269.5 Кб, 9 просмотров)

Последний раз редактировалось Slayer2707; 21.03.2011 в 11:40.
Slayer2707 вне форума Ответить с цитированием
Старый 21.03.2011, 13:05   #10
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

существует ли фаил - function filexists(fullname : string): boolean;

немного погодя гляну и мб выскажу советы по проекту или даже переделаю на своё усмотрение тебе проект
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для работы с текстовыми файлами Neo_one Помощь студентам 2 26.05.2010 22:57
Посоветуйте функции для работы с файлами VintProg Общие вопросы Delphi 51 13.08.2009 10:29
Программа для работы с файлами (паскаль). DeamoniC Помощь студентам 4 09.06.2009 23:21
Программа для работы с dfx-файлами Sanek777 Фриланс 5 11.11.2008 21:04
Прога для работы с текстовыми файлами f-only Софт 4 04.10.2007 23:35