PDA

View Full Version : سوال: لود کردن رکورد های تفکیک شده از فایل متنی.



amir_3d
پنج شنبه 11 تیر 1388, 02:50 صبح
سلام.
دوستان من می خوام از یک فایل متنی txt. که به شکل زیر نوشته شده اطلاعاتی رو بخونم و داخل یه آرایه دو بعدی و یا ترجیهاً توی یک آرایه از رکوردی که دو ا فیلد داره فرار بدم.
http://f.imagehost.org/0815/untitled_13.jpg
هر رکورد در یک خط ذخیره شده و دارای دوتا فیلد هستش که هر کدوم از فیلد ها توسط کاراکتری خاص (مثلاً :) جدا شدن.
سپس بعد از انجام ویرایشات هر رکورد رو توی یک خط یک لیست باکس بریزم و با دکمه سیو اون رو به همین ترتیب در یه فایل دیگه ذخیره کنم.
در حقیقت مشکل من لود کردن این نوع اطلاعات از فایل و سپس ریختن همین نوع اطلاعات در فیله.
متشکرم.

amir_3d
پنج شنبه 11 تیر 1388, 10:40 صبح
عزیزان خواهش می کنم یه راهنمایی هچند کوچولو بکنید. من با هزار امید اومدم اینجا

alih110
پنج شنبه 11 تیر 1388, 10:44 صبح
یعنی نمیتونی فایل رو ذخیره یا فراخوانی کنی ؟؟؟؟

alih110
پنج شنبه 11 تیر 1388, 19:09 عصر
چی شد دوست عزیز ؟؟؟؟

amir_3d
جمعه 12 تیر 1388, 01:19 صبح
خوب فکر می کردم توضیحاتم کامله علی جان.
من می تونم فایل رو فراخوانی کنم و هر خط از فایل رو توی یه فیلد رکورد یا یه خانه آرایه بگذارم.
مشکل من با تفکیک کردن یک خط رکورد در فیلدهای مجزا هستش.
تو فایل متنی که بالا می بینید تو هر خط 2 تا کلمه هست که با : از هم جدا شدن.
می خوام هر کدوم رو توی یک بعد یه آرایه دو بعدی یا یه فیلد یک رکورد دو فیلدی قرار بدم.
راستش دستور خاصی برای این کار نمی شناسم.
امیدوارم توضیحاتم کامل بوده باشه

xxxxx_xxxxx
جمعه 12 تیر 1388, 03:26 صبح
مي تونيد از توابع Split يا instr استفاده كنيد.

alih110
جمعه 12 تیر 1388, 05:14 صبح
فکر کنم از این راه بتونی بری نمیدونم شایدم اشتباه می کنم اما شاید هم به کار تو اومد.


Text3.TEXT = Replace(Text1.TEXT, ":", vbCrLf, 1, , vbTextCompare)

این طوری اسم طرف چپ و راست توی 2 تا خط مختلف تفکیک میشن .

به هر حال هرچی به ذهنم رسید نوشتم . !!!!!!!! :لبخندساده: :لبخندساده: :لبخندساده: :لبخند: :لبخند:

amir_3d
جمعه 12 تیر 1388, 17:16 عصر
ممنون علی جان.
خودم تونستم به یه روشی حلش کن.
البته فکر کنیم اصلاً بینه نیست.
در هر صورت کد رو می گذارم تا اگه کسی این مشکل رو داشت به کارش بیاد.


Dim FileNum As Integer
Dim i, Locate As Byte
Dialog1.Flags = &H80000
Dialog1.Filter = "Text docs (*.txt)|*.txt"
Dialog1.DefaultExt = "*.txt"
Dialog1.DialogTitle = "Load your multi list"
Dialog1.ShowOpen
FileName = Dialog1.FileName
FileNum = FreeFile
Dim Firstlist(10) As String
Open FileName For Input As FileNum
i = 0
While Not EOF(FileNum)
Input #FileNum, Firstlist(i)
Locate = InStr(Firstlist(i), ":")
Mlist(i, 1) = Left(Firstlist(i), Locate - 1)
Mlist(i, 2) = Right(Firstlist(i), Len(Firstlist(i)) - Locate)
List1.AddItem (Mlist(i, 1))
i = i + 1
Wend