View Full Version : سوال: ساخت فایل و خواندن از آن
majidsoft
یک شنبه 12 مهر 1388, 22:39 عصر
با سلام
من می خوام برنامه هنگام بالا اومدن یک فایل را بسازه و یک عدد در آن بنویسه و در بالا آمدنهای بعدی فایل را چک کنه و اگر عدد درست بود بالا بیاد
اگه کدی در این باره دارید لطفا برام بگذارید (حتما بودن یا نبودن فایل رو چک کنه)
با تشکر
ali_md110
دوشنبه 13 مهر 1388, 00:02 صبح
یه نگاهی به این کد بکنید وقت ندارم دستپاچه برات نوشتم ولی میتونه کارتو راه بندازه
Private Sub Button4_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim my_ini As String = "1"
If File.Exists(AppPath() & "\my.ini") Then
Dim filestream As New FileStream(AppPath() & "\my.ini", FileMode.Open)
Dim ipstream As New StreamReader(filestream)
ipstream.Read()
If ipstream.Read = -1 Then
MsgBox(ipstream.Read.ToString)
End If
ipstream.Close()
filestream.Close()
Else
Dim filestream As New FileStream(AppPath() & "\my.ini", FileMode.Create)
Dim ipstream As New StreamWriter(filestream)
ipstream.Write(my_ini)
ipstream.Close()
filestream.Close()
End If
End Sub
Function AppPath() As String
Return System.IO.Path.GetDirectoryName(Reflection.Assembl y.GetEntryAssembly().Location)
End Function
majidsoft
دوشنبه 13 مهر 1388, 09:34 صبح
با تشکر
از شما کد جواب می ده ولی اگر در فایل رشته کپی کنیم هنگام خواندن ایراد می گیره که نوع آن از نوع double است آیا راهی دارد که رشته نیز از آن فایل خواند و فایل را نیز نمی خواند و msgbox را نمایش نمی دهد و آن if را رد می کند
nokhodsiah2001
دوشنبه 13 مهر 1388, 10:30 صبح
سلامکدی که دوستمون ALi نوشته کامل و جامع هستش و برای رشته هم باید کار کنه مگر رشته ای که نوشته میشه چیه می تونی نمونش رو بذاری .....
majidsoft
دوشنبه 13 مهر 1388, 12:25 عصر
با سلام من از کد به اینصورت استفاده کردم
ولی در این خط ایراد می گیره و if را رد می کنه چه از عدد استفاده کنم چه رشته
If ipstream.Read = 123 Then
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim my_ini As String = "123"
If File.Exists(AppPath() & "\my.ini") Then
Dim filestream As New FileStream(AppPath() & "\my.ini", FileMode.Open)
Dim ipstream As New StreamReader(filestream)
ipstream.Read()
If ipstream.Read = 123 Then
MsgBox(ipstream.Read.ToString)
End If
ipstream.Close()
filestream.Close()
Else
Dim filestream As New FileStream(AppPath() & "\my.ini", FileMode.Create)
Dim ipstream As New StreamWriter(filestream)
ipstream.Write(my_ini)
ipstream.Close()
filestream.Close()
End If
End Sub
hossein-khoshseyar
دوشنبه 13 مهر 1388, 13:23 عصر
If ipstream.Read = "123" Then
دوست عزیز این درسته
majidsoft
دوشنبه 13 مهر 1388, 14:29 عصر
If ipstream.Read = "123" Then
دوست عزیز این درسته
با سلام من همین کار را ابتدا انجام دادم ولی جواب نداد شما کد را تست کن می بینی
ali_md110
سه شنبه 21 مهر 1388, 00:13 صبح
ببخشید دوست من اگر هنوز مشکلتون حل نشده کد بالا رو براتون تصحیحش کردم
Private Sub Button4_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim my_ini As String = "123"
If File.Exists(AppPath() & "\my.ini") Then
Dim filestream As New FileStream(AppPath() & "\my.ini", FileMode.Open, FileAccess.Read)
Dim ipstream As New StreamReader(filestream)
Dim str1 As String = ipstream.ReadToEnd
If str1 = "123" Then
MsgBox("فایل وجود دارد")
End If
ipstream.Close()
filestream.Close()
Else
Dim filestream As New FileStream(AppPath() & "\my.ini", FileMode.Create)
Dim ipstream As New StreamWriter(filestream)
ipstream.Write(my_ini)
ipstream.Close()
filestream.Close()
End If
End Sub
majidsoft
سه شنبه 21 مهر 1388, 22:49 عصر
با تشکر از شما دوست عزیز
آره کد جواب داد
sheervin
سه شنبه 21 مهر 1388, 23:04 عصر
می خوام وقتی آدرس مبدا رو میدم تمام محتویات آنرا در آدرس مقصدم کپی کنه, ولی موقع کپی کردن فرمم هنگ می کنه, اود یالا هم مینویسه Not Responding.مشکل از کجاس؟لطفا کمک کنید.
دیدم رو فایل کار می کنیدوگفتم شاید بتونید کمکم کنید.
ali_md110
پنج شنبه 23 مهر 1388, 02:18 صبح
تابع زیر کار کپی کردن رو انجام میده
Public Function CopyDirectory(ByVal Src As String, ByVal destination As String, Optional _
ByVal bQuiet As Boolean = False) As Boolean
If Not Directory.Exists(Src) Then
Throw New DirectoryNotFoundException("The directory " & Src & "مسیر صحیح")
End If
If Directory.Exists(destination) AndAlso Not bQuiet Then
If MessageBox.Show("مسیر " & destination & vbCrLf & _
"مایل به کپی هستید ", _
"ادامه?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, _
MessageBoxDefaultButton.Button2) = DialogResult.Cancel Then Exit Function
End If
If destination.Substring(destination.Length - 1, 1) <> Path.DirectorySeparatorChar Then
destination += Path.DirectorySeparatorChar
End If
If Not Directory.Exists(destination) Then Directory.CreateDirectory(destination)
Dim Files As String()
Files = Directory.GetFileSystemEntries(Src)
Dim strSource As String
For Each strSource In Files
If Directory.Exists(strSource) Then
CopyDirectory(strSource, destination & Path.GetFileName(strSource), True)
Else
File.Copy(strSource, destination & Path.GetFileName(strSource), True)
End If
Next
Return True
End Function
یک کنترل FolderBrowserDialog سه تا دکمه بزار با دو تا تکست باکس دوست داشتی میتونی بجای تکست باکس متعیر string تعریف کنی
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
If Not String.IsNullOrEmpty(txtPath.Text) Then
CopyDirectory(txtPath.Text, TextBox1.Text)
MessageBox.Show("copy shod:")
End If
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
If FolderBrowserDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
TextBox1.Text = FolderBrowserDialog1.SelectedPath
End If
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
FolderBrowserDialog1.SelectedPath = "C:\"
FolderBrowserDialog1.Description = "یک مسیر را انتخاب کنید"
If FolderBrowserDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
txtPath.Text = FolderBrowserDialog1.SelectedPath
End If
End Sub
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.