-
আমি সম্ভবত ভুল, কারণ আমি মেটাট্রেডার কোড লিখেছি যা ফাইলগুলি পড়তে এবং লিখতে অনেক দিন হয়ে গেছে, কিন্তু আমি মনে করি আপনি ফাইলটি পড়ার আগে ফাইলটির শেষে আছেন কিনা তা পরীক্ষা করা উচিত? এটা এই মত হওয়া উচিত নয়? যদি (FileIsEnding(h)) বিরতি; string tmp = FileReadString(h); এছাড়াও, যখন আমি টেক্সট ফাইলগুলি লিখছি যেগুলি আমি পরে পার্স করতে চাই, তখন আমি এমন লাইনগুলি সন্নিবেশ করতে পারি যেগুলি আমাকে বোঝায় যে আমি ফাইলটিতে বর্তমানে কোথায় আছি, এইভাবে: [RECORD_BEGIN] আমার ফাইল/রেকর্ডের প্রথম লাইন এখানে যায়৷ ... আমার ফাইল/রেকর্ডের দ্বিতীয় লাইন এখানে... [RECORD_BEGIN] আমার ফাইল/রেকর্ডের তৃতীয় লাইন এখানে যায়.... আমার ফাইল/রেকর্ডের চতুর্থ লাইন এখানে যায়... এবং তারপরে ভুল ফাঁকা লাইন উপেক্ষা/ফিল্টার আউট করা সহজ.....
শুধু একটি অনুমান, যেহেতু আমি এটি পরীক্ষা করতে পারি না (আপনি সমস্ত কোড সরবরাহ করেননি), তবে নীচে দেখানো কোডের লাইন যোগ করার চেষ্টা করুন: সন্নিবেশিত কোড int h = FileOpen(FileName, FILE_CSV|FILE_READ,'~'); যদি (h==0) মন্তব্য (ফাইল ফাইলের নাম পাওয়া যায় নি।);/প্রথম পাস ফাইল থেকে ডেটা লোড করে dt, val (অর্থাৎ তারিখ/সময়, এবং মান) এর জন্য (int c=0; !FileIsEnding(h) clt;9999; c ) { string tmp = FileReadString(h); যদি (FileIsEnding(h)) বিরতি; যদি (StringLen(StringTrimRight(tmp)) lt; 1) চালিয়ে যান;/lt;lt;lt;lt;==== কোডের এই লাইন যোগ করুন StrToStringArray(tmp,arr,,); int tc = StrToInteger(StringSubstr(arr#91;0#93;,0,10)); dt#91;c#93; = StrToTime(TimeToStr(tc,TIME_DATE|TI ME_MINUTES|TIME_SECONDS)); val#91;c#93; = StrToNumber(arr#91;1#93;
এটি পুরোপুরি কাজ করেনি তবে এটি কাজ না করা পর্যন্ত এটি আমাকে চারপাশে বেহাল করার জন্য যথেষ্ট কাছাকাছি পেয়েছে। আমি স্ট্রিং পেজট্রিম = স্ট্রিংট্রিমরাইট(� ��ৃষ্ঠা); জিনিষ লিখুন দিকে, যা সক্রিয় আউট একটি সর্বোচ্চ স্ট্রিং দৈর্ঘ্য আছে যে আমি খুব অতিক্রম করছিলাম. তাই একবার আমি স্ট্রিং দৈর্ঘ্য কিছুটা কমিয়ে দিলে, CSV ফাইলগুলি আগে থেকে ট্রিম করা হয়। আপনাকে অনেক ধন্যবাদ আপনার সাহায্যের কারণে আমি ধীরে ধীরে একজন কোডার হিসাবে আধা-দক্ষ হয়ে উঠছি। এমএল