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

نام تاپیک: اشکال عجیب هنگام کار با StringGrid

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

    Angry اشکال عجیب هنگام کار با StringGrid

    سلام
    یه StringGrid دارم کهه مثلا فقط یه سلول براش تعریف کردم(فقط برای مثال زیر)
    وقتی میخوام مقدار سلول رو بخونم و در رشته به کار ببرم،مقدار رشته عجیب میشه.
    کد زیر رو در نظر بگیرید:
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    StringGrid1.Cells[1,1]:='123';
    end;


    procedure TForm1.StringGrid1Click(Sender: TObject);
    var
    S:String;
    begin
    S:='Bk'+RightStr('0000'+StringGrid1.Cells[1,1],5);
    S:=S+'\'+S;
    ShowMessage(S);
    S:=RightStr('0000'+StringGrid1.Cells[1,1],5);
    S:=S+'\'+S;
    ShowMessage(S);
    S:=RightStr('0000'+StringGrid1.Cells[1,1],5);
    ShowMessage(IntToStr(Length(S)));
    S:=S+'\'+S;
    ShowMessage(S);
    end;



    نتیجه پیامها این هستند:
    \Bk00123\Bk00123
    مربع0012\00123
    5
    پنجره Access Violation

    چرا اینطور میشه؟(چرا هیچکس به سوالاتم جواب نمیده!)

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

    نقل قول: اشکال عجیب هنگام کار با StringGrid

    وحشتناکه.اولش گفتم شاید اشکال از استرینگ گرید نباشه.دیدم آره اشکال عمومیه.
    بعد گفتم شاید به خاطر نصب کامپوننت برای xls مشکل پیش اومده.دلفی رو دو باره از اول نصب کردم.
    باز مشکل وجود داشت.
    این کد درست کار نمی کنه(میخواستم تصویر صفحه کتاب که شماره اتوماسیون کتاب و جلد اصلی و بخش و شماره صفحه داره رو نمایش بدم):
    procedure ShowGifName(Col4,Col6,Col7:String);
    var
    S:String;
    P,I:word;
    begin
    S:='Bk'+RightStr('0000'+Col4,5);
    P:=pos('-',Col6);
    if P>0 then
    Begin
    S:=S+'G'+RightStr('00'+copy(Col6,1,P-1),3);
    S:=S+'\'+S+'S'+copy(Col6,P+1,2);
    End
    else
    Begin
    S:=S+'G'+RightStr('00'+Col6,3);
    S:=S+'\'+S+'S1';
    End;
    S:=S+'\'+S+'P'+Col7+'.gif';
    ShowMessage(S);
    end;


    procedure TForm1.FormCreate(Sender: TObject);
    begin
    ShowGifName('13078','01-2','26');
    end;


    باید Bok13078G001\Bok13078G001S2\Bok13078G001S2P26.gif نمایش بده اما رشته رو قطع می کنه.
    مربعBok13078G001\Bok13078G نمایش میده!(در حالی که نصف پنجره ShowMessage هم خالیه!)

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

    نقل قول: اشکال عجیب هنگام کار با StringGrid

    فهمیدم اشکال از ویندوز و ویروس یاب هم نیست(از یه ویندوز دیگه با ویروس یاب دیگه استفاده کردم،مشکل باقی بود)
    فکر کردم شاید RightStr مشکل داره.ازش استفاده نکردم باز رشته رو خراب می کرد:
    procedure ShowGifName(Col4,Col6,Col7:String);
    var
    S:String;
    P,I:word;
    begin
    S:='Bk'+Col4;//RightStr('0000'+Col4,5);
    P:=pos('-',Col6);
    if P>0 then
    Begin
    S:=S+'G'+Col6;//RightStr('00'+copy(Col6,1,P-1),3);
    S:=S+'\'+S+'S'+copy(Col6,P+1,2);
    End
    else
    Begin
    S:=S+'G'+col6;//RightStr('00'+Col6,3);
    S:=S+'\'+S+'S1';
    End;
    S:=S+'\'+S+'P'+Col7+'.gif';
    ShowMessage(S);
    end;


    نمی فهمم چطور ممکنه؟من بارها تصویر رو با برنامه نمایش دادم.
    برای اونها که حوصله ندارند کد رو بخونند.این هم یه بک اسلش اضافه آخرش میذاره
    procedure TForm1.FormCreate(Sender: TObject);
    var
    S:String;
    begin
    S:='Bk'+'123';
    S:=S+'G'+'123';
    S:=S+'\'+S;
    ShowMessage(S);
    end;


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

    نقل قول: اشکال عجیب هنگام کار با StringGrid

    وقتی در یک انتساب دو بار از متغیر استفاده کنیم مشکل پیش میاد.من به جای S اول از tmp استفاده کردم مشکل حل شد.
    مثلا
    procedure TForm1.FormCreate(Sender: TObject);
    var

    S,tmp:String;

    begin

    S:='Bk'+'123';

    tmp:=S+'G'+'123';

    S:=tmp+'\'+S;

    ShowMessage(S);

    end;



    نمی دونم تاپیک رو حذف کنم یا نه؟مسئولین خواستند میتونند حذف کنند

  5. #5

    نقل قول: اشکال عجیب هنگام کار با StringGrid

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

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


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

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

    نقل قول: اشکال عجیب هنگام کار با StringGrid

    مشکل که حل شد.کاش من هم بلد بودم از دیباگر استفاده کنم.
    یعنی فقط من با این کد مشکل دارم؟
    var
    S:String;
    begin
    S:='Bk'+'123';
    S:=S+'G'+'123';
    S:=S+'\'+S;
    ShowMessage(S);
    end;


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

  1. مبتدی: ذخیره اطلاعات stringGrid در جدول
    نوشته شده توسط 66masi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 0
    آخرین پست: یک شنبه 21 شهریور 1389, 17:01 عصر
  2. اضافه کردن سطر به stringgrid در حین اجرا
    نوشته شده توسط سنجاقک در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 4
    آخرین پست: سه شنبه 29 بهمن 1387, 20:41 عصر
  3. سوال: stringGrid
    نوشته شده توسط mohsen_solhjoo در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: دوشنبه 27 آبان 1387, 22:03 عصر
  4. ارسال StringGrid به فایل DBF
    نوشته شده توسط Sabeghi در بخش برنامه نویسی در Delphi
    پاسخ: 0
    آخرین پست: شنبه 27 آبان 1385, 06:58 صبح
  5. مشکل حرکت کردن بین سلولهای خاص دو stringgrid با tab
    نوشته شده توسط mohsen_borzooei در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 3
    آخرین پست: یک شنبه 21 آبان 1385, 07:37 صبح

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

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