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

نام تاپیک: استفاده از رشته و مجموعه

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1389
    محل زندگی
    همین اطراف
    پست
    41

    Unhappy استفاده از رشته و مجموعه

    سلام به دوستان دلفی کار
    متاسفانه من به اشکالی برخوردم که 2 روزه هرچی اینترنت و Help دلفی رو گشتم چیزی پیدا نکردم.
    من یک رشته مثلا [1,3,4,16,21] را از یک فایل ini. با دستور ReadString می خونم و میخوام اینو تبدیل به مجموعه عددی کنم. برای این کار یک حلقه گذاشتم و می خوام با دستور ReadBuffer یا ReadString رشته به طول یک بایت (کارکتر)را بخونم و به عناصر مجموعه ام اضافه کنم با دستور

    Var
    SetTmp:Set of 1..30;
    Str1,Str2:String;
    S:TStringStream;

    begin
    Str1:=Configuration.ReadString('Setting','Str','') ;
    SetTmp:=[];
    Str1:=S.Create(Str1);
    Str2:=S.ReadString(1);


    .
    .
    .ولی این دستورات اصلا کاری که من می خوام رو انجام نمی دهند. چون تابع ReadString مرتبا خطای Undeclare Identifier می داد با توجه به استفاده از یونیت Classes, SysUtils . به همین دلیل من مجبور به استفاده از کلاس TSringStream شدم درحالی که برنامه من Visual نیست و آبجکت پاسکال است.نمی دونم راهی است که همان رشته ای که از فایل خوانده میشه را بعنوان مجموعه تعریف کنم. تعریف فایل Ini. در اختیار خودم است. الان هم همه اش ایراد "Incompatible types TStringStream and ShortString " را می دهد در خط ReadString.

    اگر کسی یک سورس کوچولو و کامل از کار بارشته ها (خواندن یک قسمت از رشته و کپی در رشته دیگر) برام بذاره ممنون میشم. توی اینترنت یونیت ها ی استفاده شده رو توی مثالها نداره. (قسمتUses رو میگم)
    محیط برنامه نویسی دلفی 7

    ممنون میشوم زودتر کمکم کنید




  2. #2
    کاربر تازه وارد آواتار mofrad
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    دنیای دلفی
    پست
    94

    نقل قول: استفاده از رشته و مجموعه

    فکر کنم از کلاس StrUtils استفاده کنید کارتون راه بیفته!
    بعد میتونید با توابعی مثلreplacestr , rightstr ,... کار کنید.

  3. #3

    نقل قول: استفاده از رشته و مجموعه

    کد شما سر تا پا اشکال هست ، Configuration از چه کلاسی هست ؟
    چه طوری یک کلاس از TStringStream مشتق کردید و داخل Str1 که از نوع رشته هست ریختیدش ؟

    فکر میمکنم شما اصول برنامه نویسی در زبان پاسکال و محیط دلفی رو نمیدونید ، در کل میتونید برای خوندن فایل ini از کلاس TIniFile از کتابخانه IniFiles استفاده کنید .

  4. #4

    نقل قول: استفاده از رشته و مجموعه

    می تونید از کد زیر به عنوان نمونه استفاده کنید:
    var
    MySet : set of 1..30;
    InputStr : string;
    i: Integer;
    StrList : TStringList;
    begin
    MySet := [];

    /// This is our sample data. We assume it is read from an INI file.
    InPutStr := '[1,2,3,4,5]';

    StrList := TStringList.Create;
    try
    /// Removing brackets from the string.
    InputStr := Copy(InputStr,2,Length(InputStr)-2);
    /// Delimiting items in the string using TStringList.
    StrList.DelimitedText := InputStr;
    /// Adding items to the set
    for i := 0 to StrList.Count-1 do
    Include(MySet, StrToInt(StrList[i]));
    finally
    StrList.Free;
    end;
    end;


    کلاس TStringList در یونیت Classes تعریف شده.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

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

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