ورود

View Full Version : مشکل در Back Up



VB Master
پنج شنبه 01 اسفند 1387, 01:20 صبح
با سلام به تمامی دوستان
من تازه عضو این سایت شده ام
سایت بسیار خوبیه
بچه ها من یه برنامه میخوام بنویسم که به محض اجرای اون در مسیری که بهش دادم یک Back Up گرفته بشه
من این چند خط کد رو در Form Load نوشتم به محض باز شدن Back Up گرفته میشه اما وقتی به مسیر مربوطه میرم تا Back Up رو اجرا کنم با یک Run Time Error مواجه میشم

http://mamad-poker.persiangig.com/Run%20Time%20Error.JPG

و اینم از کد هایی که نوشتم


Private Sub Form_Load()


Dim back As Variant


back = App.Path + "\Project1.exe"


FileCopy back, "D:\Project1.exe"


End Sub


واقعا ممنون میشم اگه کسی بتونه کمکم کنه

sh2007
پنج شنبه 01 اسفند 1387, 08:12 صبح
دوست من سلام
معمولا براي بكاپ گرفتن بانك اطلاعاتي كه اطلاعات مهم توي اونه بكاپ گرفته مي شه كه يا اكسسه يا اس كيو ال نه خود پروژه حالا اگه خود پروژه رو بخواي بايد با توابع api اين كار رو انجام بدي

m_vb1386
پنج شنبه 01 اسفند 1387, 08:35 صبح
اين كه كاملا واضحه
علتش اينه كه شما در رويداد لود شدن فرم ميخواهيد فايلي كه باز هست را over write كنيد كه سيستم عامل اجازه تغيير روي فايل رو بهتون نميده مثل موقعي كه يك فايل باز باشه و شما بخواهي اون رو پاك كني

xman_dj
پنج شنبه 01 اسفند 1387, 14:27 عصر
Public Function CopyFileAny(currentFilename As String, newFilename As String)
On Error GoTo ErrHan

Dim a%, buffer%, temp$, fRead&, fSize&, B%
a = FreeFile
buffer = 4048
Open currentFilename For Binary Access Read As a
B = FreeFile
Open newFilename For Binary Access Write As B
fSize = FileLen(currentFilename)
fRead = 0


While fRead < fSize
DoEvents
If buffer > (fSize - fRead) Then buffer = (fSize - fRead)
temp = Space(buffer)
Get a, , temp
Put B, , temp
fRead = fRead + buffer

Wend
Close B
Close a

CopyFileAny = 1
Exit Function

ErrHan:
MsgBox "error backup" & vbCrLf & Err.Description, vbCritical + vbMsgBoxRtlReading
CopyFileAny = 0
End Function



شاید این تابع مشکلتو حل کنه.
نحوه استفاده
CopyFileAny App.Path & "\db.mdb", address new file.Text

VB Master
یک شنبه 04 اسفند 1387, 18:15 عصر
دوست عزيز آقاي xman_dj از اين كه توجه كردي و وقتي گزاشتي واقعا ممنون
من قطعه كدي كه شما گفتي رو وارد كردم و براي گرفتن Back Up از برنامه ام در يه Command اين كد رو نوشتم

Private Sub Command1_Click()
CopyFileAny App.Path & "Project1.exe", "C:\Project1.exe"
End Sub

اما در حال حاضر با زدن اين دكمه Back Up گرفته ميشه در مسيري كه دادم اما برنامه ي من 24K حجم داره و با پسوند Exe مي باشد ولي زماني كه Back Up گرفته ميشه پسوند برنامه Cmd مي باشد و حجمشم 0 هست
مشكل كجاست خواهشا :متفکر:

xxxxx_xxxxx
یک شنبه 04 اسفند 1387, 19:54 عصر
Private Sub Command1_Click()
CopyFileAny App.Path & "Project1.exe", "C:\Project1.exe"
End Subمشكل كجاست
اينجا:


CopyFileAny App.Path & "\Project1.exe", "C:\Project1.exe"

VB Master
یک شنبه 04 اسفند 1387, 21:43 عصر
واقعا مرسي دوست عزيز آقاي :قلب: xxxxx_xxxxx :قلب: كه به اين نكته ي ريزي كه من توجه نكردم شما اشاره كردين
دمه همه ي دوستان برنامه نويس گرم واقعا كمكم كردين
از دو دوست عزيزم آقاي :قلب: xman_dj و xxxxx_xxxxx :قلب: واقعا سپاس گزارم