ورود

View Full Version : سوال: ويرايش - نحوه ويرايش عكس ذخيره شده بعد درج



hentjanson
پنج شنبه 30 خرداد 1387, 11:10 صبح
سلام دوستان من از اين كد براي درج عكس در بانك استفاده مي كنم .


if PicturePath <> '' then
begin
ma30r := AppPath+'\Pictures\'+ExtractFileName(PicturePath);
if FileExists(ma30r)= True then
begin
ShowMessage('áØÝÇð äÇã ÝÇíá ÊÕæíÑí ÑÇ ÚæÖ ˜äíÏ');
Exit;
end
else
begin
CopyFile(PChar(PicturePath),PChar(ma30r),False);
PicturePath:=ma30r;
end;
end;
AdoTable1.fieldbyname('file').asstring:=ExtractFil eName(PicturePath);
Image1.Picture.LoadFromFile(AppPath+'\Pictures\Non e.jpg');

راستي ma30er يك متغير هستش


var
ma30r : String;


حالا يك سوال دارم چطور ميتونم عكس ويرايش كنم

moonplant
پنج شنبه 30 خرداد 1387, 13:54 عصر
سلام
از توي برنامه تون با استفاده از ole,.. مي توانيد paint يا photoshop را باز كنيد. كاربر كه ويرايشش تمام شد...دوباره عكس ويرايش شده را در DB ذخيره كنيد.

vcldeveloper
پنج شنبه 30 خرداد 1387, 17:18 عصر
این که عکسی را در بانک ذخیره نمیکنه! فقط مسیر فایل را در بانک ذخیره میکنه. پس برای ویرایش هم باید بپرسید، چطور میشه یک فایل عکس را ویرایش کرد. اون وقت این سوال مطرح میشه که چه نوع ویرایشی منظور شما هست؟

hentjanson
پنج شنبه 30 خرداد 1387, 19:00 عصر
ببينيد من مسير رو ميزارم تو بانك و عكس ميره تو يك پوشه حالا يك سوال دارم سايد عكسم عوض شد چطور دوباره ميشه اين عكس رو عوض كرد

vcldeveloper
پنج شنبه 30 خرداد 1387, 19:12 عصر
سايد عكسم عوض شد چطور دوباره ميشه اين عكس رو عوض كرد
فایل موجود را حذف می کنید، فایل جدید را بجای آن قرار میدید.

hentjanson
پنج شنبه 30 خرداد 1387, 19:22 عصر
اقاي كشاورز من همين موضوع رو متوجه نميشم ميشه خمين رو واسه من بيشتر توشيح بديد اينكه عكس رو براي ويرايش چطور از بانك صدا بزنم و اين موضوع حذف عكس.

vcldeveloper
پنج شنبه 30 خرداد 1387, 19:36 عصر
اينكه عكس رو براي ويرايش چطور از بانك صدا بزنم و اين موضوع حذف عكس.
شما که دارید عکس را بصورت فایل ذخیره می کنید، نه در بانک(!!) پس مشکل شما ربطی به بانک نداره. بانک فقط آدرس عکس شما را نگهداری میکنه. خب حالا می خواید عکس را تغییر بدید:
اول آدرس فایل عکس را از بانک میخونید. بعد فایل مربوطه را از مسیری که از بانک دریافت کردید، حذف می کنید. حالا می تونید تصویر ویرایش شده را با همون نام فایلی که حذف کردید، در همان پوشه ذخیره کنید.

moonplant
پنج شنبه 30 خرداد 1387, 21:40 عصر
البته آقای کشاورز توضیح دادن، اما اگر دستورش رو می خواهید، این هست:
DeleteFile(fileName)

که یک مقدار بولین برمیگرداند. یعنی اگر عملیات با موفقیت انجام شد true را برمی گرداند.
که filename را هم از بانک می خوانید.

اما خب، اگر من جای شما بودم. تو برنامه ام paint یا photoshop را باز می کردم. یارو کاربره هم وقتی کارش تمام شد، همان جا توی همان محیط save اش می کند(overwrite میشود). مسیر فایل هم که تغییر نمی کند..پس دیگر با بانک کاری نداریم.

hentjanson
پنج شنبه 30 خرداد 1387, 21:48 عصر
من همين خطو نميفهمم از دوستان كي ميتونه برنامه رو بدم برام روش اعمال كنه

moonplant
پنج شنبه 30 خرداد 1387, 22:01 عصر
کدوم خطو؟
-------------------

hentjanson
پنج شنبه 30 خرداد 1387, 22:13 عصر
همين كه عكسو دوباره از بانك صدا بزنم واسه ويرايش

moonplant
پنج شنبه 30 خرداد 1387, 22:41 عصر
' ببينيد من مسير رو ميزارم تو بانك و عكس ميره تو يك پوشه'
عکس که تو پوشه است!!!!!!!!!!!!

hentjanson
جمعه 31 خرداد 1387, 16:39 عصر
مشكل من هنوز حل نشده ميشه بگيد بايد چطور عكس رو لود كنم تا دوباره ويرايش شه ؟
ببينيد من عكس رو ميزارم تو پوشه ادرس تو بانك
حالا مي خوام عكس لود شه تا بشه يك عكس ديگه جايگزين اون كرد ؟

hentjanson
جمعه 31 خرداد 1387, 17:54 عصر
اين روند كامل ذخيره عكس منه كه اين كد رو توس يك دكمه نوشتم


procedure TForm1.BitBtn3Click(Sender: TObject);
var
ma30r : String;
begin
if PicturePath <> '' then
begin
ma30r := AppPath+'\Pictures\'+ExtractFileName(PicturePath);
if FileExists(ma30r)= True then
begin
ShowMessage('áØÝÇð äÇã ÝÇíá ÊÕæíÑí ÑÇ ÚæÖ ˜äíÏ');
Exit;
end
else
begin
CopyFile(PChar(PicturePath),PChar(ma30r),False);
PicturePath:=ma30r;
end;
end;
AdoTable1.fieldbyname('file').asstring:=ExtractFil eName(PicturePath);
Image1.Picture.LoadFromFile(AppPath+'\Pictures\Non e.jpg');
end;


در ضمن دو متغير هم داريم به اسم هايه


var
AppPath : String;
PicturePath : string;

من يك سوال داريم تو حالت ويرايش تمام ركورد هارو فراخواني مي كنم چطور اين عكس رو فراخواني براي ركورد هايه ديگه از اين كد استفاده مي كنم من . مثال :


maskedit1.Text:=ADOTable1.fieldbyname('code').asst ring;

براي ويرايش چطور بايد حالا عكسمو فراخواني كنم

vcldeveloper
جمعه 31 خرداد 1387, 23:32 عصر
عکس توی چی لود شه؟ با چی ویرایش شه؟