ورود

View Full Version : حرکت بر روی رکوردها با يك تعداد مشخص مثلا 20 تا 20 تا



yaas135
چهارشنبه 19 مرداد 1384, 12:21 عصر
سلام
1- فرض کنید من پونصد رکورد اطلاعات دارم، بعد می خوام هر بیست تا رکورد رو بخونم، تو یه فایل تکست ذخیره کنم، بعد بیست تای بعدی تا برسم به اخر بانک، شما راهنمایی می کنید؟

2- با فرض بالا، من اگر بخوام مثلا روی اطلاعات رکوردهای صد و یک تا دویست و بیست کار کنم چطوری می تونم این کار رو انجام بدم؟

ممنونم/یا علی

javad_hosseiny
چهارشنبه 19 مرداد 1384, 14:02 عصر
ابتدا فایل تکست موردنظرت را ایجاد (یا باز) می کنی و سپس در یک حلقه از ابتدا تا انتهای جدول را بخوانید (رکورد به رکورد) و پس از خواندن محتویات فیلدها و قراردادن آن در کنار یکدیگر (و یا به هر سبکی که می خواهید) و به فایل تکست موردنظر اضافه کنید (حالا فرقی نمی کند که 20 تا 20 بخوانید یا ...) و در ضمن برای حرکت بین رکوردها بانک اطلاعاتی از moveby می تونید استفاده کنید

yaas135
چهارشنبه 19 مرداد 1384, 14:38 عصر
ابتدا فایل تکست موردنظرت را ایجاد (یا باز) می کنی و سپس در یک حلقه از ابتدا تا انتهای جدول را بخوانید (رکورد به رکورد) و پس از خواندن محتویات فیلدها و قراردادن آن در کنار یکدیگر (و یا به هر سبکی که می خواهید) و به فایل تکست موردنظر اضافه کنید (حالا فرقی نمی کند که 20 تا 20 بخوانید یا ...) و در ضمن برای حرکت بین رکوردها بانک اطلاعاتی از moveby می تونید استفاده کنید

متوجه نشدم، توضیح میدین لطفا؟

javad_hosseiny
چهارشنبه 19 مرداد 1384, 20:29 عصر
کدوم قسمتش را متوجه نشدی ؟
بحث الگوریتمش یا پیاده سازی (کد نویسی) آن را ؟
می خواهی کدش را برات بنویسیم؟

توضیح مجدد در مورد الگوریتم:
شما می خواهید محتوی یه جدول را به یه فایل تکست تبدیل کنید
(یه راه حل راحت و بدون کدنویسی آن استفاده از ابزار آماده است با توجه به نوع جدولتان اگر از نوع dbf, db,... هست از برنامه های مثل database desktop خود دلفی و یا برنامه های مدیریت بانک اطلاعات دیگری همچون اکسس یا ویژوال فاکس و نهایتا برنامه قدرتمندی همچون sqlserver استفاده کنید)
اما اگر تاکید بر کدنویسی خودتان جهت انجام این کار دارید روش کار بدین صورت است که
در ابتدا فایل تکست (جهت ذخیره اطلاعات جدول) موردنظر را ایجاد می کنید (دستورات assign,reset, rewrite)
سپس جدول موردنظر را باز کرده table.open و در یک حلقه While notfeof(table) از ابتدا تا انتهای جدول را پیمایش کنید (table.next) و محتویات فیلد (یا فیلدهای) موردنظر را خوانده و در متغیر ذخیره و در پایان حلقه در فایل تکست موردنظر ذخیره کنید (writeln(fl,var

وجهت انجام این عملیات بر روی رکورهای خاصی می توانید از پارامتر filter جدول استفاده کنید و اگر بر روی رنج خاصی از رکوردها است در ابتدای برنامه پس از باز کردن جدول توسط دستور table.moveby(120) اشاره گر را بر روی رکورد موردنظر قرار داده و سپس برنامه را اجرا کنید (همون خواندن اطلاعات در حلقه)