PDA

View Full Version : سوال: نمايش و ذخيره كردن فايل ورودي در db



manzare
دوشنبه 07 مرداد 1387, 10:57 صبح
سلام
من ميخوام كاربر يك فايل را در كامپيوترمثلا از طريق يك ( shelltreeview ) انتخاب كنه ودر برنامه در مسير دلخواه من و با نام دلخواه من در يك db و نيز در يك edit نمايش داده شود و ذخيره شود ونام فايل نيز در فيلد ديگري درdb ذخيره شود اين كار را با چه كنترلهايي بايد انجام بدم و چه كدي بايد بنويسم
2) اگر بخوام نوع فايل ورودي چك شود كه تنها text يا فايل صوتي باشد بايد چه كار كنم؟

ممنون

SUNMOON
دوشنبه 07 مرداد 1387, 11:14 صبح
در مورد سوال اول فايل رو ميريزي تو يه stream بعد stream رو تو يه blob فيلد ذخيره مي كني .
سوال دوم هم بايد از خاصيت فيلتر استفاده كني (اگه shelltreeview داشته باشه)وگر نه بايد تو edit اخرين نقطه رو پيدا كني و بعد از اون رو به عنوان پسوند در نظر بگيري

Hsimple11
دوشنبه 07 مرداد 1387, 12:30 عصر
سلام
من ميخوام كاربر يك فايل را در كامپيوترمثلا از طريق يك ( shelltreeview ) انتخاب كنه ودر برنامه در مسير دلخواه من و با نام دلخواه من در يك db و نيز در يك edit نمايش داده شود و ذخيره شود ونام فايل نيز در فيلد ديگري درdb ذخيره شود اين كار را با چه كنترلهايي بايد انجام بدم و چه كدي بايد بنويسم
2) اگر بخوام نوع فايل ورودي چك شود كه تنها text يا فايل صوتي باشد بايد چه كار كنم؟

ممنون

فایل ورودی را با Path مسیر و نامش را بدست آورید. در مسیر دلخواه در دیتابیس و edit نمایش داده شود یعنی چی؟ منظورتان محتویات فایل است؟ از Memo استفاده کنید و LoadFromFile و آدرس فایل انتخاب شده را بدهید. در مورد ذخیره نام فایل هم از تابع ExtractFileName استفاده کنید که پسوند فایل را از نام آن جدا کند و نام را در دیتابیس خود ذخیره کنید. در مورد چک کردن نوع فایل هم میتوانید یک فیلتر ساده انجام دهید که فایلهای TXT مثلا فقط قابل Load کردن باشند.

سعی کنید با جستجو خودتان پیش بروید. اگر سوالی بود بفرمایید.

موفق باشید...

rasool1981355
یک شنبه 24 شهریور 1387, 13:51 عصر
لطفا كمك كنيد .
من ميخواهم فايلهاي با پسوند doc يعني فايل word را در sql server ذخيره كنم البته در دلفي مثلا روي يك دكمه كليك كنم و word باز شود و سپس با زدن دكمه ديگر در sql ذخيره شود و همچنين با دادن نام ان فايل در يك edit ان فايل را جستجو كند ممنون ميشوم اگه جواب من را بدهيد

manzare
سه شنبه 26 شهریور 1387, 08:05 صبح
اگه بخواين فقط آدرس يك فايل آماده را در db ذخيره كنيد كافيست از opndialgاستفاده كنيد

if OpenDialog2.Execute then begin
st:= ExtractFileDir(ParamStr(0)) +'\pattern';
if not DirectoryExists(st) then begin
MkDir(st);
Sleep(2000);
end;
if not CopyFile(pchar(OpenDialog2.filename),pchar(st +'\'+ ExtractFileName(OpenDialog2.FileName)),false) then begin
MessageBox(0,pchar('ÞÇÏÑ Èå ÐÎíÑå ÓÇÒí ÝÇíá ÈÑ Ñæí ÏíÓ˜ äãí ÈÇÔÏ'+chr(13)+
'ÝÖÇí ÏÑÇíæ' +ExtractFileDir(st) + ' ÑÇ ÈÑÑÓí ˜äíÏ' ),'ÇÎØÇÑ' ,
MB_OK+MB_RIGHT + MB_ICONHAND +MB_SYSTEMMODAL);
exit;
end;
ADOCommand1.Parameters[4].Value := st +'\'+ ExtractFileName(OpenDialog2.FileName);
end;
end;

اين كد يك فايل را از opndlgگرفته آن را در فولدري كه هم اكنون در كنار فايل exe با نام patern ساختيش ذخيره ميكنه و سپس اسم فايل و آدرسش را در dbذخيره ميكنه

فايلهاي با پسوند doc ي
براي چك كردن اين كافيست
opendialog.filter := 'doc'