Fa تغییر در یک فایل متنی

Rezvani Soft

Active Member
با سلام خدمت تمامی کاربران و مدیران انجمن
میخواستم بدونم آیا راهی هست که در یک فایل متنی به صورت خودکار تغییری ایجاد کرد.
مثلا هر قسمت از فایل که دارای واژه​
کد:
[X]
بود با یک متغیر که نشان دهنده درایو ویندوز است جا به جا شود.​

کد:
path$=<SrcDrive>
فایل متنی:​

کد:
"AVP"="\"[X]:\\Program Files\\Kaspersky Lab\\Kaspersky Internet Security 2010\\avp.exe\""
"BabylonToolbar"="\"[X]:\\Program Files\\BabylonToolbar\\BabylonToolbar\\1.4.19.5\\BabylonToolbarsrv.exe\" /md I"
"Babylon Client"="[X]:\\Program Files\\Babylon\\Babylon-Pro\\Babylon.exe -AutoStart"
"FU_JFM"="[X]:\\Program Files\\FinalUninstaller\\JFM.exe"

این فایل با نام و پسوند
file.inf
در کنار پروژه قرار دارد.
با تشکر فراوان از...​
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
توسط تابع StrChange میتونید تغییرات رو در رشته ها اعمال کنید.
پس اول کل متن رو لود کنید تو متغیر، با تابع StrChange تغییرات رو اعمال کنید، اطلاعات رو دوباره درون فایل بنویسید (Overwrite کنید)
 

Rezvani Soft

Active Member
با تشکر
خیلی ممنون که راهنمایی کردین
کد:
file$='C:\test.txt'
LoadText("string$","C:\test.txt")
fromstr$='[X]'
tostr$=<SrcDrive>
ReturnStr$=StrChange(string$,fromstr$,tostr$)
ReturnVal=StrToFile(file$,ReturnStr$,FALSE,FALSE)

فقط هیچ راهی نیست که نام درایو ویندوز رو به تنهایی به دست آورد.
کد:
tostr$=<SrcDrive>
در این صورت
tostr$=C:\
ولی من میخوام طوری بشه که
tostr$=C
بشه


Mer30
 
آخرین ویرایش:

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
یک سری ماکروها در MMB وجود دارن که به محلی از درایوی که ویندوز در اون نصب هست اشاره میکنن، مثل <Windows>، <System> یا <Temp>، حالا شما میتونید با تابع ExtractDrive نام درایو رو جدا کنید.
با تابع StrDel هم میتونید دو کاراکتر آخر رو حذف کنید تا به اون فرمت دلخواهتون برسید.
 

Rezvani Soft

Active Member
استفاده ار تابع
StrDel
به چه صورته اگه ممکنه یک نمونه قرار بدین
در ضمن مورد اول که که فرمودین به شکل زیر درسته؟
کد:
[LEFT]path$=<Windows>
full$=ExtractDrive(path$)[/LEFT]
با تشکر فراوان از تمامی دوستانی که در این انجمن واقعا زحمت می کشند.
 
آخرین ویرایش:

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
بله درسته، به این شکل میتونید نام درایو رو از یک آدرس جدا کنید
دتابع StrDel سه پارامتر دریافت میکنه، اولی نام متغیری هست که متنمون در اون ذخیره شده
دومین پارامتر اندیس کاراکتری هست که قراره از اونجا کاراکترها حذف بشن
و پارامتر سوم تعداد کاراکترهایی هست که باید بعد از اندیس حذف بشن
خروجی تابع هم یک String خواهد بود

کد:
String$ = 'C:\'
ChangedString$ = StrDel(String$, 2, 2)
Message("ChangedString$","")
 

جدیدترین ارسال ها

بالا