PDA

View Full Version : ترکیب (Merge) چند فایل



msseng
دوشنبه 27 اسفند 1386, 10:27 صبح
چطور میشه چند فایل از یک نوع رو باهم ترکیب کرد؟

البته هدف من بیشتر روی فایلهای Excel یا Access هست.

msseng
دوشنبه 27 اسفند 1386, 10:57 صبح
خصوصا فایلهای Excel.
حالا اگه بشه این فایلها رو به access هم تبدیل کرد که چه بهتر

babak_delphi
سه شنبه 28 اسفند 1386, 02:00 صبح
حالت کلّیش رو من قبلا توضیح دادم
توی همون تاپیک آقای کشاورز هم در مورد فایلهای Word توضیح دادن
جستجو کنید

msseng
دوشنبه 26 فروردین 1387, 08:56 صبح
خب حداقل یه آدرسی... لینکی...

قبل از ایجاد این تاپیک به اندازه کافی جستجو کردم ولی "یافت می نشود..."

مهران موسوی
دوشنبه 26 فروردین 1387, 21:14 عصر
دوست عزیز به تعداد مورد نظر TMemoryStream تعریف کن بعد فایلها رو توشون لود کن بعد یکی پس از دیگری در یک TfileStream بریزشون ... و در اخر همه رو Free کن ....

babak_delphi
دوشنبه 26 فروردین 1387, 23:00 عصر
http://barnamenevis.org/forum/showthread.php?t=98367&highlight=merge+word

یافت میشود

msseng
سه شنبه 27 فروردین 1387, 09:34 صبح
http://barnamenevis.org/forum/showthread.php?t=98367&highlight=merge+word

یافت میشود

با تشکر از شما.
ولی همانطور که میدونی، روش OLE خیلی کند هست و من به سرعت خیلی بیشتری نیاز دارم (مثل سرعت اتصال به یک بانک)

msseng
سه شنبه 27 فروردین 1387, 09:36 صبح
دوست عزیز به تعداد مورد نظر TMemoryStream تعریف کن بعد فایلها رو توشون لود کن بعد یکی پس از دیگری در یک TfileStream بریزشون ... و در اخر همه رو Free کن ....

خیلی ممنون.
تا حالا به استفاده از این مورد فکر نکرده بودم.
اما...
با TMemoryStream فایلها رو لود کردم و یک TFileStream هم ساختم، ولی در ریختن نوشتن اونها توی FileStream مشکل دارم. Help خود دلفی هم زیاد کمک نکرد.
اگه میشه نحوه کار با TFileStream رو بگید.

msseng
سه شنبه 27 فروردین 1387, 10:07 صبح
دوست عزیز به تعداد مورد نظر TMemoryStream تعریف کن بعد فایلها رو توشون لود کن بعد یکی پس از دیگری در یک TfileStream بریزشون ... و در اخر همه رو Free کن ....

خیلی ممنون.
تا حالا به استفاده از این مورد فکر نکرده بودم.
اما...
با TMemoryStream فایلها رو لود کردم و یک TFileStream هم ساختم، ولی در ریختن نوشتن اونها توی FileStream مشکل دارم. Help خود دلفی هم زیاد کمک نکرد.
اگه میشه نحوه کار با TFileStream رو بگید.

msseng
سه شنبه 27 فروردین 1387, 10:18 صبح
و یک سوال دیگه:
اصلا این روش برای فایلهایی که header دارند (مثل Word و Excel و...) جواب میده؟!

vcldeveloper
سه شنبه 27 فروردین 1387, 14:20 عصر
اصلا این روش برای فایلهایی که header دارند (مثل Word و Excel و...) جواب میده؟!
خیر. برای فایل هایی مثل Word یا Excel با توجه به اینکه ساختارشون هم برای شما مشخص نیست، تنها راه موجود همون OLE هست. البته جدیدا مایکروسافت ساختار باینری فایل های برنامه Office را برای برنامه نویسان عرضه کرده، ولی حتی برنامه نویسان حرفه ایی هم اذعان کردند که این ساختار بیش از اندازه پیچیده هست و برای کار کردن بطور مستقیم با آن، باید یه چیزی مثل Office را پیاده سازی کرد!

مهران موسوی
سه شنبه 27 فروردین 1387, 14:36 عصر
طبیعتا هم همینجور هست ... چون پسوند فایلهای مجموعه ی Office یک پسوند مجزا و طراحی شده هست ... پس نتیجه این میشه که برای کار با این پسوندهای باید با ساختارشون کاملا اشنایی داشته باشیم که نشدنی نیست ... فقط باید روش زمان زیادی صرف کنیم و به قول اقا علی باید یک افیس رو پیاده سازی کنیم ... این امر به طبع ارزش نداره ...

msseng
سه شنبه 27 فروردین 1387, 16:37 عصر
طبیعتا هم همینجور هست ... چون پسوند فایلهای مجموعه ی Office یک پسوند مجزا و طراحی شده هست ... پس نتیجه این میشه که برای کار با این پسوندهای باید با ساختارشون کاملا اشنایی داشته باشیم که نشدنی نیست ... فقط باید روش زمان زیادی صرف کنیم و به قول اقا علی باید یک افیس رو پیاده سازی کنیم ... این امر به طبع ارزش نداره ...

بابا دمت گرم... خودت راه حل میدی و بعد میگی نمیشه؟!!!!

حالا نگفتی از TُFileSream چطور استفاده کنم؟!

msseng
سه شنبه 27 فروردین 1387, 16:42 عصر
میدونید مشکل اصلی من چیه؟

من چندتا فایل اکسل دارم که میخوام همه رو توی یک جدول نشون بدم(هم تعداد فایلها زیاده و هم تعداد سطرهاشون) البته در هر لحظه ممکنه به دو یا سه تاشون نیاز داشته باشم.

و من ترکیب فایلها رو برای این میخواستم. حالا یه راه حل پیشنهاد بدین لطفا...

babak_delphi
شنبه 07 اردیبهشت 1387, 00:50 صبح
خب شما چرا این کار رو میکنی؟
با sql یک جدول بساز و رکوردها رو در یک جدول بریز
اگر هم نمی خوای بصورت فیزیکی این کار رو انجام بدی از query استفاده کن
من اول فکر کردم که می خوای چند تا فایل رو واقعا با هم ادغام کنی به همون دلیل اون لینک رو دادم
ولی اگر منظورتون نشان دادن تمام رکوردهای چند جدول بصورت یکجا در برنامه است ازشون query بگیر
(اگه درست متوجه منظورت شده باشم)

msseng
یک شنبه 08 اردیبهشت 1387, 11:16 صبح
خیلی ممنونم!!!
چرا این به فکر خودم نرسیده بود؟!