mbshareat
شنبه 23 فروردین 1404, 12:22 عصر
سلام.احوال؟
یک سوال دارم که اگر بخوام کامل توضیح بدم راحت نیست.
دارم روی متن کار می کنم چیزی مثل تگ HTML دارم که باز و بسته داره(مثلا {a یک a} )
میخوام بررسی کنم که آیا باز و بسته متناوب هستند.یک باز و بعد بسته و بعد باز و...
چند نوع باز و بسته دارم (مثلا a , b , c) پس یک آرایه دارم و برای هر کدوم یک عنصر که تعیین می کنه فرمت آخر یافت شده باز بوده یا بسته
اگر باز بعد از باز بیاد یا بسته بعد از بسته، برنامه در آرایه دیگری یک واحد به تعداد اضافه می کنه و محل رو ثبت می کنه.
اما نمی دونم چرا وقتی میخوام مورد دوم خطای باز و بسته رو ثبت کنم، قبل از مقداردهی با ShowMessage می فهمم مورد اول خراب شده. بازها بررسی کردم هیچ جای دیگه برنامه این ارایه رو مقداردهی نمی کنه اما بعد دو ساعت برررسی، یک کار احمقانه رو امتحان کردم و برنامه درست کار کرد.
ارایه ها رو اینطور تعریف کرده بودم:
E_FB:Array[1..5000] of DWord;
E_FB_No:Word;
FSP:Array[1..11] of StFB;
تبدیل کردم به این و مشکل حل شد!:
FSP:Array[1..11] of StFB;
E_FB:Array[1..5000] of DWord;
E_FB_No:Word;
نمیخوام وارد جزئیات بشم.مثلا اینکه اگر دو باز بعد از هم یافت بشند، محل باز اول رو ثبت می کنم نه دوم و اینکه StFB اینطور تعریف شده:
StFB=Record
St:Byte;
FB:DWord;
End;
یا اینکه FB فایل و بایت است که از ضرب شماره فایل در 65000+بایت به دست میاد.
میخوام بدونم چرا فقط جابجایی محل تعریف آرایه، کد رو درست کرد؟
یک سوال دارم که اگر بخوام کامل توضیح بدم راحت نیست.
دارم روی متن کار می کنم چیزی مثل تگ HTML دارم که باز و بسته داره(مثلا {a یک a} )
میخوام بررسی کنم که آیا باز و بسته متناوب هستند.یک باز و بعد بسته و بعد باز و...
چند نوع باز و بسته دارم (مثلا a , b , c) پس یک آرایه دارم و برای هر کدوم یک عنصر که تعیین می کنه فرمت آخر یافت شده باز بوده یا بسته
اگر باز بعد از باز بیاد یا بسته بعد از بسته، برنامه در آرایه دیگری یک واحد به تعداد اضافه می کنه و محل رو ثبت می کنه.
اما نمی دونم چرا وقتی میخوام مورد دوم خطای باز و بسته رو ثبت کنم، قبل از مقداردهی با ShowMessage می فهمم مورد اول خراب شده. بازها بررسی کردم هیچ جای دیگه برنامه این ارایه رو مقداردهی نمی کنه اما بعد دو ساعت برررسی، یک کار احمقانه رو امتحان کردم و برنامه درست کار کرد.
ارایه ها رو اینطور تعریف کرده بودم:
E_FB:Array[1..5000] of DWord;
E_FB_No:Word;
FSP:Array[1..11] of StFB;
تبدیل کردم به این و مشکل حل شد!:
FSP:Array[1..11] of StFB;
E_FB:Array[1..5000] of DWord;
E_FB_No:Word;
نمیخوام وارد جزئیات بشم.مثلا اینکه اگر دو باز بعد از هم یافت بشند، محل باز اول رو ثبت می کنم نه دوم و اینکه StFB اینطور تعریف شده:
StFB=Record
St:Byte;
FB:DWord;
End;
یا اینکه FB فایل و بایت است که از ضرب شماره فایل در 65000+بایت به دست میاد.
میخوام بدونم چرا فقط جابجایی محل تعریف آرایه، کد رو درست کرد؟