PDA

View Full Version : مشک در به دست آوردن تمام Section های فایل INI



SadeghPM
پنج شنبه 01 اسفند 1387, 13:18 عصر
با سلام...
من با دلفی می خوام ، یک فایل ini که حجمی حدود 900KB داره و دارای حدودا 2000 سکشن هست رو ، لیست سکشن های اونو به دست بیارم. وقتی این کارو با دلفی انجام میدم دلفی نمی تونه لیست همه سکشن ها رو به دست بیاره و حدود 500 تا سکشن رو بدست میاره!!!
و اگه نام سکشن ها تکراری باشن باهاشون مشکل داره و Key های سکشن تکراری رو نمی تونه به دست بیاره.
ممنون می شم اگه دوستان کمکم کنن.

vcldeveloper
پنج شنبه 01 اسفند 1387, 19:10 عصر
خب طبیعی هست که با بدست آوردن نام Sectionهای تکراری مشکل داشته باشه. وقتی نام Section ایی جستجو میشه، دلفی اولین مورد پیدا شده از آن را بر می گردانه. شما نباید از نام Sectionهای یکسان استفاده می کردید.
اگر لازم هست که از نام های یکسان استفاده کنید، باید خودتون یک کلاس جدید برای این فرمت فایلی که درست کردید، ایجاد کنید، و نمی تونید از کلاس TINIFile دلفی استفاده کنید.

SadeghPM
شنبه 03 اسفند 1387, 18:30 عصر
ممنون از پاسختون... نظرتون در مورد مشکل اول چیه ؟(مشکل در شناسایی تعداد سکشن)

vcldeveloper
شنبه 03 اسفند 1387, 19:06 عصر
نظرتون در مورد مشکل اول چیه ؟(مشکل در شناسایی تعداد سکشن)
نمیدونم، بررسی نکردم ببینم TINIFile از چه روشی برای پیدا کردن Section ها استفاده میکنه، ولی اگر در اون فایل بعضی از Sectionها هم نام هستند، طبیعی هست که TINIFile نتونه تعداد صحیح Sectionها را از فایل استخراج کنه.

Felony
شنبه 03 اسفند 1387, 22:51 عصر
من با دلفی می خوام ، یک فایل ini که حجمی حدود 900KB داره و دارای حدودا 2000 سکشن هست رو ، لیست سکشن های اونو به دست بیارم.

فکر میکنم مشکل از تعریف متغییر فایل INI شما باشه، چون خودتون دارید میگید 900 کیلوبایت در صورتی که TIniFile فقط میتونه 64 کیلوبایت داده رو پردازش کنه و برای بیشتر از این مقدار باید از TMemIniFile استفاده کنید ، فقط متغییر خودتون رو به این نوع تغییر بدید .

SadeghPM
یک شنبه 04 اسفند 1387, 18:25 عصر
فکر میکنم مشکل از تعریف متغییر فایل INI شما باشه، چون خودتون دارید میگید 900 کیلوبایت در صورتی که TIniFile فقط میتونه 64 کیلوبایت داده رو پردازش کنه و برای بیشتر از این مقدار باید از TMemIniFile استفاده کنید ، فقط متغییر خودتون رو به این نوع تغییر بدید .

متشکر ... مشکل حل شد..

نمیدونم، بررسی نکردم ببینم TINIFile از چه روشی برای پیدا کردن Section ها استفاده میکنه
دست آخر با توابع API این کارو انجام میده!!!:چشمک: