نمایش نتایج 1 تا 5 از 5

نام تاپیک: آیا استفاده از EndUpdate بدون BeginUpdate مجاز است؟

  1. #1
    کاربر دائمی آواتار mbshareat
    تاریخ عضویت
    آبان 1387
    محل زندگی
    شهر مقدس قم-چهارمردان-کوچه 37
    پست
    963

    آیا استفاده از EndUpdate بدون BeginUpdate مجاز است؟

    سلام.
    برنامه فایل رو میخونه و در لیست باکس نمایش میده و به سطر مورد نظر می پره.گاهی باید فایل جدید خونده بشه و گاهی همو.ن فایل هست ولی سطر دیگه باید منتقل بشم.
    اگر چنین کدی بذارم مشکل ساز میشه؟امتحان کردم ظاهرا جواب میده(فقط میخوام برنامه پیچیده نشه!)
    Procedure GotoFileLine(FileNo,LineNo:Word);
    Begin
    if FileNo<>CurrentFileNo then
    Begin
    ListBox1.Items.BeginUpdate;
    LoadFileToListBox(FileNo);
    End;
    ListBox1.ItemIndex:=LineNo;
    ListBox1.Items.EndUpdate;
    End;

  2. #2

    نقل قول: آیا استفاده از EndUpdate بدون BeginUpdate مجاز است؟

    سلام.

    if FileNo<>CurrentFileNo then
    Begin
    ListBox1.Items.BeginUpdate;
    LoadFileToListBox(FileNo);
    ListBox1.Items.EndUpdate;
    End;
    ListBox1.ItemIndex:=LineNo;


    سورس کد:

    procedure TStrings.EndUpdate;
    begin
    Dec(FUpdateCount);
    if FUpdateCount = 0 then SetUpdateState(False);
    end;

    همون طور که می بینی این کار ساید افکت هایی داره چون متغیر داخلی رو داره کم می کنه که BeginUpdate زیادش کرده بوده، و در این دو رویداد خودش رو نشون می ده:

    procedure TStringList.Changed;
    begin
    if (FUpdateCount = 0) and Assigned(FOnChange) then
    FOnChange(Self);
    end;


    procedure TStringList.Changing;
    begin
    if (FUpdateCount = 0) and Assigned(FOnChanging) then
    FOnChanging(Self);
    end;

    دست زدن به این کار یعنی از دست دادن این دو متد!
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  3. #3
    کاربر دائمی آواتار mbshareat
    تاریخ عضویت
    آبان 1387
    محل زندگی
    شهر مقدس قم-چهارمردان-کوچه 37
    پست
    963

    نقل قول: آیا استفاده از EndUpdate بدون BeginUpdate مجاز است؟

    ممنون.به اندازه شما از این متد ها سر در نمیارم.ولی فکر کنم به این دو متد نیاز ندارم.
    در ضمن کد اولتون مقصودم رو نمی رسونه.من برای این از beginUpdate استفاده می کنم که یهو اولین سطرهای لیست دیده نشه بعد بپره به سطر مورد نظر که باعث بشه کاربر کمی گیج بشه.
    بلکه وقتی همه سطرها(منظورم همون Items هست!) تعریف شد و سطر مد نظر شد سطر جاری لیست نشون داده بشه.
    منتهی وقتی لیست داره همون فایل رو نشون میده دیگه این کار لزوم نداره .فقط از سطر جاری میریم سطر مد نظر.

  4. #4

    نقل قول: آیا استفاده از EndUpdate بدون BeginUpdate مجاز است؟

    ظاهرا ساید افکت دیگه ای نداره، البته ممکنه روی نسخه های بعدی به مشکل بخورید چون دلفی فرض می کنه که از مسیر درستش دارید استفاده می کنید.
    بلایی که اول امسال با آپدیت دلفی سر من اومد و هنوزم گاهی تاوانش رو می دم.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  5. #5
    کاربر دائمی آواتار mbshareat
    تاریخ عضویت
    آبان 1387
    محل زندگی
    شهر مقدس قم-چهارمردان-کوچه 37
    پست
    963

    نقل قول: آیا استفاده از EndUpdate بدون BeginUpdate مجاز است؟

    ممنون.برنامه ام در نسخه بالاتر اجرا نمیشه.

تاپیک های مشابه

  1. سوال: من از EF استفاده میکنم میخواستم بدونم این تکنولوژی روی یه سیستم دیگه نیاز به ست کردن کانکشن است؟
    نوشته شده توسط Mosafers در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 17
    آخرین پست: چهارشنبه 02 مرداد 1392, 13:33 عصر
  2. پاسخ: 12
    آخرین پست: پنج شنبه 29 فروردین 1392, 17:27 عصر
  3. سوال: استفاده از علامت سئوال به چه معناست؟
    نوشته شده توسط y_ziaee در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: چهارشنبه 15 شهریور 1391, 12:26 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •