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

نام تاپیک: روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1394
    محل زندگی
    تهران
    پست
    59

    Question روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

    من توی یک برنامه نیاز پیدا کردم که از یک فایل txt که روی sd card قرار دارد یک عدد رو بخونم (پشت سر هم) کلا کار برنامه همینه که یک عدد رو که روی مموری هستش بخونم و آن را نمایش بدهم ولی مشکل اینجاست که اون عدد هر ثانیه عوض میشود ولی توی دلفی وقتی فایلو میخونم دفعه ی بعد که میخونم همون مقدار قبلیو بهم نمایش میده و عدد جدید داخل فایلو نمایش نمیده.
    لطفا راهنمایی کنید من میخوام اون عدد را پست سر هم بخونم ولی عدد واقعی درون فایلو بخونه.
    با تشکر.

  2. #2
    کاربر دائمی آواتار ابوالفضل عباسی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    Inside Esfahan
    پست
    719

    نقل قول: روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

    سلام
    شما کد خواندن فایل txt رو اینجا بگذار ببینم دستورت درست هست یانه؟!
    بهتره برای خوندن، اون رو وارد stream بریزی و یا اگر درون memo میگذاری،اول memo رو خالی کنی بعد بخونی باروش loadfromfile
    در تایمر این فرمان ها اجرا بشه.

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1394
    محل زندگی
    تهران
    پست
    59

    نقل قول: روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

    من با memo این کارو انجام میدم ولی بعد از پاک کردن نوشته memo دوباره بعد از loadfromfile همون مقدار قبلیو بهم نشون میده و مقدار جدید نمیاید.
    توی تامر هم گذاشتم ولی باز هم جواب نداد.
    روش stream چجوریه؟ من با اون کار نکردم.

  4. #4
    کاربر دائمی آواتار ابوالفضل عباسی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    Inside Esfahan
    پست
    719

    نقل قول: روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

    مطمئن هستی مقدار txt موردنظر تغییر پیدا کرده؟
    چون وقتی مقدار txt تغییر پیدا میکنه باید مقدار تغییر پیداکرده txt رونشون بده.
    روش stream هم در همین بخش جستوجو کنی هست.

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1394
    محل زندگی
    تهران
    پست
    59

    نقل قول: روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

    برای بار اول مقدار درستو نمایش میده اما بعد از اون دیگه مقدار درستو نمایش نمیده و مقدار اول رو نشون میده.
    روش stream هم گشتم ولی پیدا نکردم.

  6. #6
    کاربر دائمی آواتار ابوالفضل عباسی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    Inside Esfahan
    پست
    719

    نقل قول: روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

    بفرمایید این هم کد کامل ذخیره و بازیابی رشته String به stream:
    فقط ادرس فایل تکست رو میدهی تا اون رو به stream تبدیل کنه و بعد stream رو بخون(ولی عجیبه که memo تغییر نمیکنه،قبل از استفاده از stream یک بار memo رو خالی کن و destroy هم بکن و دوباره پرکن.اگر درست عمل نکرد از stream استفاده کن.)
    procedure SaveData(FileName: TFileName);var
    MemStr: TMemoryStream;
    Title: String;
    begin
    MemStr:= TMemoryStream.Create;
    try
    MemStr.Seek(0, soFromBeginning);
    WriteStreamStr( MemStr, TItle );
    MemStr.SaveToFile(FileName);
    finally
    MemStr.Free;
    end;
    end;


    procedure LoadData(FileName: TFileName);
    var
    MemStr: TMemoryStream;
    Title: String;
    begin
    MemStr:= TMemoryStream.Create;
    try
    MemStr.LoadFromFile(FileName);
    MemStr.Seek(0, soFromBeginning);
    Title := ReadStreamStr( MemStr );
    finally
    MemStr.Free;
    end;
    end;

    procedure WriteStreamInt(Stream : TStream; Num : integer);
    {writes an integer to the stream}
    begin
    Stream.WriteBuffer(Num, SizeOf(Integer));
    end;


    procedure WriteStreamStr(Stream : TStream; Str : string);
    {writes a string to the stream}
    var
    StrLen : integer;
    begin
    {get length of string}
    StrLen := Length(Str);
    {write length of string}
    WriteStreamInt(Stream, StrLen);
    if StrLen > 0 then
    {write characters}
    Stream.Write(Str[1], StrLen);
    end;


    function ReadStreamInt(Stream : TStream) : integer;
    {returns an integer from stream}
    begin
    Stream.ReadBuffer(Result, SizeOf(Integer));
    end;


    function ReadStreamStr(Stream : TStream) : string;
    {returns a string from the stream}
    var
    LenStr : integer;
    begin
    Result := '';
    {get length of string}
    LenStr := ReadStreamInt(Stream);
    {set string to get memory}
    SetLength(Result, LenStr);
    {read characters}
    Stream.Read(Result[1], LenStr);
    end;

  7. #7

    نقل قول: روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

    memo را Memo1.Refresh; بكنيد

  8. #8
    کاربر دائمی آواتار ابوالفضل عباسی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    Inside Esfahan
    پست
    719

    نقل قول: روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

    دوست عزیز این عمل وقتی که برای پرکردن دستور load رو در تایمر میدهی.خودش memo را رفرش میکند.
    ولی امتحانش ضرری نداره،ولی با روش stream درست کار میکنه.

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1394
    محل زندگی
    تهران
    پست
    59

    نقل قول: روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

    ممنون من باروش stream تست کردم درست کار کرد و مشکلم حل شد.
    با تشکر.

  10. #10
    کاربر دائمی آواتار ابوالفضل عباسی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    Inside Esfahan
    پست
    719

    نقل قول: روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

    خواهش میکنم
    روش stream موقعی که توی تایمر اجرا میشه،باعث کندی برنامه و گوشی نمیشه دوست عزیز؟

  11. #11
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1394
    محل زندگی
    تهران
    پست
    59

    نقل قول: روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

    کاملا درسته توی کار برنامه وقفه ایجاد میکنه و کلا سرعت برنامه یک سوم میشه ولی با توجه به این که کار اصلی برنامه همینه و برنامه برای کسی نوشته شده و قابل ارایه به عموم نیست و فقط هم در کل برنامه 2 عدد Button وجود دارد و در کل به جز این که هر 5 میلی ثانیه یک فایلو میخونه و هر 1 ثانیه یک فایلو مینویسه دیگه کار خاصی انجام نمیده.
    با تشکر.

  12. #12
    کاربر دائمی آواتار ابوالفضل عباسی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    Inside Esfahan
    پست
    719

    نقل قول: روش باز کردن و خواندن یک فایل txt از sd card برای چندین بار

    خواهش میکنم ولی سعی کن از stream استفاده نکنی تا سرعت افت نکنه

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

  1. سوال: چگونگی باز کردن و نمایش یک فایل ورد در دلفی
    نوشته شده توسط mortex3000 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 9
    آخرین پست: دوشنبه 05 فروردین 1392, 13:13 عصر
  2. اضافه کردن متن به یک فایل txt موجود در ویندوز
    نوشته شده توسط maikola در بخش C#‎‎
    پاسخ: 3
    آخرین پست: دوشنبه 09 مرداد 1391, 12:10 عصر
  3. سوال: چاپ کردن نتیجه در یک فایل txt
    نوشته شده توسط DR.HTML در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: شنبه 22 بهمن 1390, 15:28 عصر
  4. بستن فرم اول و باز کردن فرم دوم یک فایل DLL
    نوشته شده توسط spicirmkh در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: پنج شنبه 25 خرداد 1385, 07:23 صبح
  5. باز کردن و خواندن یک فایل متن وحذف کردن فایل
    نوشته شده توسط NOROOZY در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: سه شنبه 05 مهر 1384, 18:15 عصر

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

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

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