ورود

View Full Version : ساخت ini



.:KeihanCPU:.
پنج شنبه 05 اردیبهشت 1387, 21:36 عصر
سلام دوستان
اگه کسی میدونه چطور میتونم یه فایل ini درست کنم و چطور میتونم تو اون بنویسم دریغ نکنه

با تشکر

r_oscar2007
پنج شنبه 05 اردیبهشت 1387, 22:01 عصر
Dim s1 As String
s1 = "reza mohammadi"
Open "c:\reza.ini" For Output As #1
Print #1, s1
Close #1

H4i0 ACP
جمعه 06 اردیبهشت 1387, 01:21 صبح
این هم یه نمونه کامل

vbhamed
جمعه 06 اردیبهشت 1387, 02:17 صبح
سلام
می تونی از توابع Api زیر استفاده کنی

GetPrivateProfileString
GetPrivateProfileInt
WritePrivateProfileString
WritePrivateProfileInt

UpgradeVB6Code
جمعه 06 اردیبهشت 1387, 12:28 عصر
آقا فایل های ini چه جور فایلهایی هستند ؟؟؟
مثل فایل txt مگه نیستند ؟ پس چرا با پسوند ini ذخیره میکنید ؟

vbhamed
جمعه 06 اردیبهشت 1387, 15:29 عصر
سلام
چون معمولا از این فایلهای برای initialize یا مقداردهی های اولیه برنامه ها استفاده میشه

.:KeihanCPU:.
یک شنبه 08 اردیبهشت 1387, 12:12 عصر
چطور میتونم توی فایل ini مثل یک autorun بنویسم
منظورم اینه که چطور میتونم بام خط پایین

Mbt925
یک شنبه 08 اردیبهشت 1387, 14:13 عصر
فایل های ini فایل های سیستمی هستند که قابلیت های وی‍‍‍‍ژه ای برای خوندن و نوشتن دارن.
این قابلیت های هم کار رو حرفه ای تر می کنه و هم ساده تر.

قبلا نمونه هایی برای کار با این فایل ها معرفی شده.

UpgradeVB6Code
یک شنبه 08 اردیبهشت 1387, 14:32 عصر
فایل های ini فایل های سیستمی هستند که قابلیت های وی‍‍‍‍ژه ای برای خوندن و نوشتن دارن.
این قابلیت های هم کار رو حرفه ای تر می کنه و هم ساده تر.

قبلا نمونه هایی برای کار با این فایل ها معرفی شده.
میشه چند تا از این قابلیت ها رو بگید

مهران رسا
یک شنبه 08 اردیبهشت 1387, 14:42 عصر
به نظر من که فایل های ini جز قابلیت اجرای Autorun هیچ مزیت دیگه ای نسبت به فایل های txt ندارند .

vbhamed
یک شنبه 08 اردیبهشت 1387, 15:13 عصر
PCM2008 عزیز

فرق فایلهای ini با فایلهای متنی فقط تو یک پسوند نیست
درسته که از لحاظ ظاهری مثل فایل متنی هستند
اما اگر دقت کنید نوعی فایل متنی دارای ساختار تعریف شده هستند که با کروشه [] بخش بندی شده است و زیر هر کروشه گزینه های مربوط به خودش قرار دارد.

مثلا فایل زیر را ببینید :


[windows]
load=
run=
NullPort=None
BaseCodePage=1256
device=HP LaserJet 6L PCL,PCL5EMS3,LPT1:

[Desktop]
TileWallpaper=1
WallpaperStyle=0

[Intl]
iCountry=1
ICurrDigits=2
iCurrency=3
iDate=0
iDigits=2
خب حالا می رسیم به تفاوت فایلهای ini با متنهای معمولی

با استفاده از توابع تعریف شده Api برای فایلهای ini می تونید به محتویات اون دسترسی داشته باشید
برای کار با فایلهای متنی معمولی همانطور که می دونید باید سطر به سطر فایل رو بخونید و بنویسید و اگر مثلا سطر دهم را بخواهید بخوانید باید 9 سطر قبل از اون خونده بشه

اما فرض کنید در فایل بالا قراره مقدار WallpaperStyle خونده بشه

برای این کار شما فقط کافیه سربرگ اون یعنی [Desktop] و نام متغیر یعنی WallpaperStyle رو داشته باشید و با استفاده از توابع مربوطه به راحتی مقدار درج شده برای WallpaperStyle که در اینجا 0 هست رو بخونید

مهم نیست که این عبارت کجای فایل نوشته شده و سطر چندم هست، خود توابع اون رو برای ما پیدا می کنن

برای نوشتن هم به همین راحتی هست

در حقیقت یه چیزی شبیه نوشتن در رجیستری ویندوز که نام کلید و نام متغیر رو می دیم

ماهیت داخلی فایل ini مثل Text هست و فرقی نداره پسوندش چی باشه
مهم اینه که اولا با ساختار تعریف شده تو فایل ini نوشته بشه
دوم اینکه از توابع مربوطه برای کار با اون استفاده بشه


توابع Api هم همونایی هست که بالاتر گفتم

اینم لیست کامل :


' User Profile Routines
' NOTE: The lpKeyName argument for GetProfileString, WriteProfileString,
' GetPrivateProfileString, and WritePrivateProfileString can be either
' a string or NULL. This is why the argument is defined as "As Any".
' For example, to pass a string specify ByVal "wallpaper"
' To pass NULL specify ByVal 0&
' You can also pass NULL for the lpString argument for WriteProfileString
' and WritePrivateProfileString

Declare Function GetProfileInt Lib "kernel32" Alias "GetProfileIntA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal nDefault As Long) As Long
Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long
Declare Function GetProfileSection Lib "kernel32" Alias "GetProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
Declare Function WriteProfileSection Lib "kernel32" Alias "WriteProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String) As Long
Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long

.:KeihanCPU:.
یک شنبه 08 اردیبهشت 1387, 18:54 عصر
کسی به سوال من جواب نداد که چطور میتونم مطلبمو توی دو سطر بنویسم


[autorun]
=open
=icon


منظورم اینه که چطور توی دستورات یه سطر بیام پایین

vbhamed
سه شنبه 10 اردیبهشت 1387, 01:00 صبح
کسی به سوال من جواب نداد که چطور میتونم مطلبمو توی دو سطر بنویسم


[autorun]
=open
=icon
منظورم اینه که چطور توی دستورات یه سطر بیام پایین


سلام
اگر پست قبلي رو بخوني مي بيني كه شما نياز نيست كاري كني و بالا پايين بري
خود توابع اين كار رو انجام مي دن

اما اگر خيلي مايلي انجام بدي اين راهش :



Open "c:\Autorun.inf" For Output As #1

Print #1, "[autorun]"
Print #1, "open="
Print #1, "icon="

Close #1