mehdi29665 4 ارسال شده در 14 خرداد، ۱۳۹۸ اشتراک گذاری ارسال شده در 14 خرداد، ۱۳۹۸ سلام و خسته نباشید خدمت اساتید. در بیسیک دستور یا تابعی هست که بشه محتویات فایلی رو از نقطه خاصی شروع به خواندن کرد یا اینکه بشه در نقطه خاصی از فایل متنی تغییرات انجام داد. با تشکر لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,583 ارسال شده در 14 خرداد، ۱۳۹۸ اشتراک گذاری ارسال شده در 14 خرداد، ۱۳۹۸ در 7 دقیقه قبل، mehdi29665 گفته است : سلام و خسته نباشید خدمت اساتید. در بیسیک دستور یا تابعی هست که بشه محتویات فایلی رو از نقطه خاصی شروع به خواندن کرد یا اینکه بشه در نقطه خاصی از فایل متنی تغییرات انجام داد. با تشکر منظورت از فایل چه نوع فایلی هست دقیقا؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mehdi29665 4 ارسال شده در 14 خرداد، ۱۳۹۸ سازنده اشتراک گذاری ارسال شده در 14 خرداد، ۱۳۹۸ در 1 دقیقه قبل، محمدرضا شاهپیری گفته است : منظورت از فایل چه نوع فایلی هست دقیقا؟ فقط فایل متنی لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mehdi29665 4 ارسال شده در 14 خرداد، ۱۳۹۸ سازنده اشتراک گذاری ارسال شده در 14 خرداد، ۱۳۹۸ کل برنامه من اینطوره که اطلاعات سنسور دما از طریق وای فای به گوشی ارسال میشه و برنامه هم مقدار دما رو همراه با تاریخ و زمان داخل فایل متنی ذخیره میکنه البته اینکار از طریق سرویس انجام میشه گه اگه برنامه بسته بشه یا گوشی قفل بشه بازم به ذخیره سازی ادامه بده. حالا من میخام در نمای اصلی برنامه وقتی که روی صفحه گوشی باز شده یا همون لایوت بیام نحوه تغییرات دما در 24 ساعت گذشته رو بصورت نمودار نشون بده ( دقیقا مثل نحوه کارکرد سی پی یو در تسک منیجر ویندوز) خب تا اینجا من اومد سرویس رو راه اندازی کردم و در بازه 1 ثانیه ای اطلاعات رو از وای فای میگیرم و داخل فایل متنی ذخیره میکنم ولی برای نمایش و یا بهتر بگم دسترسی به موقعیت خاصی از فایل (مثلا 1000 خط آخر) مشکل دارم. البته میشه کل فایل رو از اول به روش خط به خط خوند تا به موقعیت مورد نظر رسید ولی میخام بدوم تابع خاصی برای اینکار وجود نداره (فک کنم ویژوال بیسیک با دستور get و put اینکار رو میشدانجام داد) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,583 ارسال شده در 14 خرداد، ۱۳۹۸ اشتراک گذاری ارسال شده در 14 خرداد، ۱۳۹۸ در 2 ساعت قبل، mehdi29665 گفته است : روشهای زیادی هست عزیز. ولی عمده کار شما با دستور Regex.Split انجام میشه. در این مورد زیاد تو انجمن بحث شده. سرچ کنید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مجید آرتا 5,874 ارسال شده در 14 خرداد، ۱۳۹۸ اشتراک گذاری ارسال شده در 14 خرداد، ۱۳۹۸ سلام فرمایش استاد شاهپیری عزیز درسته می تونید اسپلیت هم کنید. اما اگر به صورت لاین به لاین اطلاعات توی فایل درج میشه، یعنی به این شکل » TEST1 TEST2 TEST3 TEST4 . . . TEST N می تونید فایل رو به وسیله ی این کد بخونید و توی یک متغییر لیست بریزید » 'Display All Lines Private Logs As List = File.ReadList(File.DirInternal,"logs.txt") For i = 0 To Logs.Size - 1 Log(Logs.Get(i)) ' - - - -> Iterate All List Next 'Get Custom Index Log(Logs.Get(1000)) خب اگر دوست داشتید برای هر خط مثلا مرتب سازی انجام بشه و . . . می تونید یک Structure یا Type توی بیسیک تعریف کنید و این داده هارو اونجا قرار بدید و به صورت بهتر از اطلاعات لیست استفاده کنید. نحوه تعریف Structure » که باید یا در Globals یا در Process_Globals تعریف بشن. Sub Globals Type Temp(value As Int, time As Long, desc As String) End Sub مثال » Dim t As Temp t.Initialize t.time = DateTime.Time(DateTime.Now) t.value = "33 C" t.desc = "No Desc" Logs.Add(t) موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mehdi29665 4 ارسال شده در 15 خرداد، ۱۳۹۸ سازنده اشتراک گذاری ارسال شده در 15 خرداد، ۱۳۹۸ در 11 ساعت قبل، مجید آرتا گفته است : سلام فرمایش استاد شاهپیری عزیز درسته می تونید اسپلیت هم کنید. اما اگر به صورت لاین به لاین اطلاعات توی فایل درج میشه، یعنی به این شکل » TEST1 TEST2 TEST3 TEST4 . . . TEST N می تونید فایل رو به وسیله ی این کد بخونید و توی یک متغییر لیست بریزید » 'Display All Lines Private Logs As List = File.ReadList(File.DirInternal,"logs.txt") For i = 0 To Logs.Size - 1 Log(Logs.Get(i)) ' - - - -> Iterate All List Next 'Get Custom Index Log(Logs.Get(1000)) خب اگر دوست داشتید برای هر خط مثلا مرتب سازی انجام بشه و . . . می تونید یک Structure یا Type توی بیسیک تعریف کنید و این داده هارو اونجا قرار بدید و به صورت بهتر از اطلاعات لیست استفاده کنید. نحوه تعریف Structure » که باید یا در Globals یا در Process_Globals تعریف بشن. Sub Globals Type Temp(value As Int, time As Long, desc As String) End Sub مثال » Dim t As Temp t.Initialize t.time = DateTime.Time(DateTime.Now) t.value = "33 C" t.desc = "No Desc" Logs.Add(t) موفق باشید ضمن تبریک عید سعید فطر. خیلی هم عالی بود و تشکر از اساتید آرتا و شاهپیری عزیز فقط یه سوال : متغیر لیست چه مقدار پارامتر رو میتونه نگه داره؟ چون فایل من در هر 24 ساعت حدود 90 هزار خط که هر خط بطول حدود 200 بایت بشه در مجموع حدود 20 مگ حجم فایلم در بیاد. هر چی گشتم در مورد محدودیت متغیرها در b4a چیزی پیدا نکردم. بازم تشکر از اساتید محترم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مجید آرتا 5,874 ارسال شده در 18 خرداد، ۱۳۹۸ اشتراک گذاری ارسال شده در 18 خرداد، ۱۳۹۸ در در 1398/03/15, 11:37:47، mehdi29665 گفته است : ضمن تبریک عید سعید فطر. خیلی هم عالی بود و تشکر از اساتید آرتا و شاهپیری عزیز فقط یه سوال : متغیر لیست چه مقدار پارامتر رو میتونه نگه داره؟ چون فایل من در هر 24 ساعت حدود 90 هزار خط که هر خط بطول حدود 200 بایت بشه در مجموع حدود 20 مگ حجم فایلم در بیاد. هر چی گشتم در مورد محدودیت متغیرها در b4a چیزی پیدا نکردم. بازم تشکر از اساتید محترم شما به لیست هر نوع مقداری رو میتونید بدید محدودیت نوع داده نداره. اینم Data type توی B4A : Byte : 1byte signed: -128 to 127 Char : 2bytes unsigned: 0 to 65535 : not all values are valid Unicode code points Short : 2bytes signed: -32768 to 32767 Int : 4bytes signed: -2147483648 to 2147483647 Long : 8bytes signed: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 (9.2...E+18) Float : 4bytes +/- 3.4e +/- 38 (~7 digits) Double : 8bytes +/- 1.7e +/- 308 (~15 digits) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mehdi29665 4 ارسال شده در 23 خرداد، ۱۳۹۸ سازنده اشتراک گذاری ارسال شده در 23 خرداد، ۱۳۹۸ در در 1398/03/18, 21:56:45، مجید آرتا گفته است : شما به لیست هر نوع مقداری رو میتونید بدید محدودیت نوع داده نداره. اینم Data type توی B4A : Byte : 1byte signed: -128 to 127 Char : 2bytes unsigned: 0 to 65535 : not all values are valid Unicode code points Short : 2bytes signed: -32768 to 32767 Int : 4bytes signed: -2147483648 to 2147483647 Long : 8bytes signed: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 (9.2...E+18) Float : 4bytes +/- 3.4e +/- 38 (~7 digits) Double : 8bytes +/- 1.7e +/- 308 (~15 digits) از بابت محدودیت متغیرها که گفتید تشکر. ولی منظورم این بود که قراره با دستور readlist محتویات فایل متنی رو بریزم داخل متغیر لیست و اینکار میاد هر خط که آخرش crlf داشته باشه به عنوان یک آیتم به لیست اضافه میکنه مثلا فایلی با بیست خط رو وقتی که با دستور بالا خوندم و داخل لیست قرار دادم اندازه لیست من میشه 20 (list.size) اصل سوالم اینه که این list.size حداکثر چقدر میتونه باشه ممنون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مجید آرتا 5,874 ارسال شده در 23 خرداد، ۱۳۹۸ اشتراک گذاری ارسال شده در 23 خرداد، ۱۳۹۸ بازم میگم توی لیست و تعداد ایتم هاش محدودیتی نیست. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
mehdi29665 4
سلام و خسته نباشید خدمت اساتید.
در بیسیک دستور یا تابعی هست که بشه محتویات فایلی رو از نقطه خاصی شروع به خواندن کرد یا اینکه بشه در نقطه خاصی از فایل متنی تغییرات انجام داد.
با تشکر
لینک ارسال
به اشتراک گذاری در سایت های دیگر
9 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.