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

نام تاپیک: یه سوال ساده در مورد رشته هنگام کار با فایل

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

    یه سوال ساده در مورد رشته هنگام کار با فایل

    با سلام
    من چنین کدی دارم:
    procedure S();
    Var
    S:String;
    F:File;
    Buf:Array[1..3]of Char;
    BytesNo:Integer;
    Begin
    AssignFile(F,'English Words.txt');
    ReSet(F,1);
    Seek(F,0);
    BlockRead(F,Buf,sizeof(Buf),BytesNo);
    S:=Buf;
    MessageDlg('Sizeof(Buf) Is :'+Inttostr(sizeof(Buf))+Buf,mtInformation,[mbOk],0);
    MessageDlg('Sizeof(S) Is :'+Inttostr(sizeof(S))+S,mtInformation,[mbOk],0);
    eND;

    سوالی برام پیش اومده :
    اگه اندس اول آرایه Buf رو صفر کنم یا یک کنم در هر صورت (SizeOf(S یکسانه!
    (در هر صورت طول رشته S برابر 4 هستش)
    چنین چیزی چطور ممکنه؟

  2. #2

    نقل قول: یه سوال ساده در مورد رشته هنگام کار با فایل

    برای اینکه نوع داده رشته ( String ) در دلفی در پشت صحنه واقعا یک رشته نیست بلکه به یک اشاره گر ( Pointer ) اشاره میکنه ، اندازه اشاره گر هم 4 بایت هست پس شما دارید با اون SizeOf اندازه اشاره گری که به یک رشته اشاره میکنه رو میگیرید .
    آخرین ویرایش به وسیله Felony : سه شنبه 25 آبان 1389 در 06:19 صبح

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

    نقل قول: یه سوال ساده در مورد رشته هنگام کار با فایل

    با سلام
    جناب استاد تاجیک متشکرم.
    با این حساب یعنی من باید از Length استفاده می کردم.
    راستش من هنوز نمی دونم فایل از صفر شروع می شه یا یک و آیا اگه اولین اندیس Buf صفر باشه یا یک باشه در هر صورت درست کار می کنه؟لطفا جواب این دو سوال ساده رو هم بدین...ممنون!

  4. #4

    نقل قول: یه سوال ساده در مورد رشته هنگام کار با فایل

    با این حساب یعنی من باید از Length استفاده می کردم.
    بله .
    راستش من هنوز نمی دونم فایل از صفر شروع می شه یا یک
    از 0 شروع میشه .
    آیا اگه اولین اندیس Buf صفر باشه یا یک باشه در هر صورت درست کار می کنه؟
    خیر با توجه به توضیحی که دادم درست کار نمیکنه و باید اندیس از 0 شروع بشه ، اگر اندیس از 1 باشه کارکتر اول از فایل خونده نمیشه .

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

    نقل قول: یه سوال ساده در مورد رشته هنگام کار با فایل

    با سلام و عرض تبریک به مناسبت عید سعید قربان
    جناب آقای تاجیک شما فرمودید اندیس رو باید از صفر شروع کنم ولی وقتی اندیس رو همونطور که تو کدی که گذاشتم از یک شروع می کنم 4 کارکتر اول رو می خونه .
    آیا در شرایط خاصی نباید از یک شروع بشه؟

  6. #6

    نقل قول: یه سوال ساده در مورد رشته هنگام کار با فایل

    همچین چیزی غیر ممکن هست ، شما تو کدتون صراحتا ذکر کردید مقدار آرایه از 1 تا 3 که میشه 3 کارکتر ، اگر داخل فایلتون 4 کارکتر داشته باشید باید 1 کارکتر رو موقع خوندن از دست بدید ، از دلفی 7 استفاده میکنید ؟ از همون کد بالا استفاده میکنید ؟

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

    نقل قول: یه سوال ساده در مورد رشته هنگام کار با فایل

    با سلام و خدا قوت
    عید سعید قربان (روز پیش) رو به همه تبریک عرض می کنم.
    جناب آقای تاجیک شما درست می فرمایین.
    فقط سه کارکتر خونده می شه ولی کارکتر اول رو هم می خونه! و این کارکتر چهارمه که خونده نمی شه!
    در هر صورت معذرت می خوام که دقت نکردم... یا علی (ع)

برچسب های این تاپیک

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

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