|
[ milekrajina @ 13.05.2009. 08:42 ] @
| ovako,imam problem:
imam fajl koji mi stize u obliku Treb_908_2009-04-10.dbf,ja treba da obrisem ovaj deo _2009-04-10
tako da dobijem fajl Treb_908.dbf.
Stvarno mi je stvorilo problema i nisam uspeo
Zamolio bih za pomoc,sto pre moze... |
[ Nevena79 @ 13.05.2009. 10:41 ] @
A sta ti ustvari ne znas, kako da promenis ime tom fajlu ili kako da iseces onaj deo iz imena ili i jedno i drugo?
[ djpero.84 @ 13.05.2009. 11:45 ] @
Da li je ovaj dio "Treb_908" uvijek iste duzine? Kao npr. "Treb_342" i sl.?
Ako je iste duzine, tj. 8, onda mozes jako lako se rijesiti:
Code: rezultat=Left(ime_fajla,8) & ".dbf"
Ako ne poznas ekstenziju, a fajl ti moze imati veci broj, onda mozes nesto ovako uraditi:
Code: Dim tmp_RB As Integer, tmp_RB2 As Integer
Dim tmp_TX As String, tmp_TX_FINAL As String
Dim Ext_NAME As String
Private Sub Command1_Click()
Ext_NAME = Right(Text1.Text, 4)
tmp_RB = InStr(1, Text1.Text, "_", vbTextCompare)
tmp_TX = Right(Text1.Text, Len(Text1.Text) - tmp_RB)
tmp_RB2 = InStr(1, tmp_TX, "_", vbTextCompare)
tmp_TX_FINAL = Left(Text1.Text, tmp_RB + tmp_RB2 - 1)
MsgBox tmp_TX_FINAL & Ext_NAME
End Sub
[ milekrajina @ 14.05.2009. 06:46 ] @
stvar je ovakva:
ja svaki dan,cu dobijati fajl Treb_908_2009-04-05.dbf,s tim sto
ce mi deo Treb_908,uvek biti isti a ovaj deo sa datumom se menja zavisno od dana kada je kreiran.
Moj zadatak je taj da fajl koji mi stize na C:\ particiju,obradim tj.odstranim deo sa datumom i prebacim na D:\ particiju u zadato mesto.
Tko da mi treba fajl koji ce izgledati kao Treb_908.dbf
Moja ideja je bila da to uradim tako sto cu postaviti formu i na njoj 2 dugmeta
Jedno dugme da isece taj deo,a drugo da ga iskopira u zadato mesto.
Da,radim sa Vb 6.msdn nemam
[ djpero.84 @ 14.05.2009. 07:15 ] @
Onda je suludo to "isjecati" ako je samo to bit, ako ti kasnije taj datum nije potreban.
Uradi onda samo kopiranje:
Code: Private Sub Command1_Click()
FileCopy "C:\Treb_908_2009-04-05.dbf", "D:\folder\Treb_908.dbf"
End Sub
[ milekrajina @ 14.05.2009. 07:54 ] @
Nisi me razumeo,treb_908 je uvek isti, a svaki dan mi se menja onaj deo sa datumom..
kad mu zadam da kopira onako kako si mi ti predlozio,nece mi pronaci taj fajl jer danas bi bilo:Treb_908_2009-14-5.dbf,a sutra Treb_908_2009-15-5.dbf
pratis me sada?
[ djpero.84 @ 14.05.2009. 09:03 ] @
Valjda sam sad skontao :)
Code:
inputFile = "Treb_908_" & Year(Date) & "-" & Day(Date) & "-" & Month(Date) & ".dbf"
FileCopy "C:\" & inputFile, "D:\folder\Treb_908.dbf"
ili ako ti se u tom "source" folderu (koliko sam shvatio da se radi o C:\ root-u) onda mozes i da radis sa FileListBox kontrolom.
Stavis jednu na formu, pod imenom "File1" i ovo kopiras:
Code: Dim inputFile As String
Private Sub Form_Load()
File1.Path = "C:\"
File1.Pattern = "*.dbf"
inputFile = File1.List(0)
On Error GoTo greska1
FileCopy File1.Path & inputFile, "D:\Treb_908.dbf"
Kill File1.Path & inputFile ' ovo stavih jer u suprotnom sve ovo gore nema smisla u tvom slucaju
MsgBox "Kopirano"
Unload Me
Exit Sub
greska1: MsgBox "Nema fajla"
Unload Me
End Sub
[ milekrajina @ 14.05.2009. 10:46 ] @
hvala zemo,samo me zanima jos ovo da te pitam:
imam C. Button,i u njega unosim ovaj kod:
***************************************************************
inputFile = "Treb_908_" & Year(Date) & "-" & Day(Date) & "-" & Month(Date) & ".dbf"
FileCopy "C:\" & inputFile, "D:\folder\Treb_908.dbf"
***************************************************************
koliko sam ja razumeo,ispravi me ako gresim,ovde on kopira fajl ca C:\ u D:\?
varijanta da klikom na taster on to odradi mi je primamljivija..
ako bi mogao da mi to pomognes..
Znaci,Forma i na njoj taster Kopiraj?
kao sto sam naveo meni samo treba deo prvi Treb_908.dbf,datum mi ne treba.
Hvala ti unapred
[ djpero.84 @ 14.05.2009. 11:06 ] @
Pa samo to stavis u event Command1:
Code: Private Sub Command1_Click()
inputfile = "Treb_908_" & Year(Date) & "-" & Day(Date) & "-" & Month(Date) & ".dbf"
On Error GoTo greska1
FileCopy "C:\" & inputfile, "D:\folder\Treb_908.dbf"
Exit Sub
greska1: MsgBox "Fajl '" & inputfile & "' nije pronadjen"
End Sub
[ milekrajina @ 14.05.2009. 17:36 ] @
Ne prepoznaje mi fajl
Na formi sa stavio taster Treb_901 pa sve do Treb_925
Od svih tastera jedino Treb_908,za koji si mi dao kod radi.
S tim sto je doslo do male izmene:
Treb_908_2009-14-5.dbf mora da mi se kopira sa F:\PRODAJA u F:\Treb.
Sada mi nije jasno zbog cega se Treb_908_2009-14-5.dbf kopira sa C:\ (da napomenem,da se ni ono nije kopiralo po novoj putanji po F:\disku)
,a ostala Treb se ne kopiraju..
Da program javlja gresku da fajl npr. "Treb_904_2009-14-5" nije pronadjen?
Molim pomoc,o glavi mi ovo radi...
E,da ako ti je sta jasnije da ti kazem da je poenta sledeca:
Meni ce na F:\PRODAJA stizati fajlovi:Treb_901,902,904,905,906,908,909,910,912,913,914,917,918,919,921,922,923,924,925 zajedno sa
datumom kreiranja fajla i ekstenzijom dbf
Moj zadatak je da odstranim datum i da fajl iskopiram na F:\Treb.
Tako da u F:\Treb imam fajlove kao npr. Treb_908_2009-14-5.dbf
Ja sam mislio da program "proceslja" F:\PRODAJA i sve fajlove (trebovanja) na koje naleti da odstrani datum i prekopira ih
u F:\Prodaja tako da za svaki fajl dobijem oblik kao ovaj Treb_908.dbf
Hvala unapred
[ milekrajina @ 14.05.2009. 17:42 ] @
U F:\Treb ide fajl bez datuma
znaci Treb_908.dbf
Izvinjavam se ljudi
[ djpero.84 @ 14.05.2009. 18:00 ] @
Nisi rekao da se ovo poslije "Treb_" mijenja, nego si rekao da je uvijek isto.
Citat: Nisi me razumeo,treb_908 je uvek isti, a svaki dan mi se menja onaj deo sa datumom..
A za ovaj poduhvat trebam vise vremena koje sad nemam, tako da jedino veceras ili sutra ti mogu odgovoriti. Koliko vidim ti nerazumijes zasto to ne kopira u "F:\" ili zasto se kopira sa "C:\". Mislio sam da znas barem putanje promjeniti......Ali ti trazis kompletno rijesenje, a nisi mi rekao citavu poentu....
[ milekrajina @ 14.05.2009. 18:15 ] @
Izvini,sto sam ostao nedorecen..
ja sam menjao putanju ali izgleda nisam dobro.
treba mi za ocenu,ne krijem ja da sam pocetnik,sto se i vidi
[ djpero.84 @ 14.05.2009. 18:17 ] @
STAVI FILELISTBOX1, I COMMAND1 I OVO:
Code: Dim putanja_source As String, putanja_dest As String
'==========================================
Dim tmp_RB As Integer, tmp_RB2 As Integer
Dim tmp_TX As String, tmp_TX_FINAL As String
Dim Ext_NAME As String
Dim PATH_PRODAJA As String, PATH_TREB As String
Private Sub Command1_Click()
For i = 0 To File1.ListCount - 1
PATH_PRODAJA = putanja_source & File1.List(i)
PATH_TREB = putanja_dest & skrati(File1.List(i))
FileCopy PATH_PRODAJA, PATH_TREB
Kill PATH_PRODAJA
File1.Refresh
Next i
End Sub
Private Sub Form_Load()
settings
File1.Path = putanja_source
File1.Pattern = "*.dbf"
End Sub
Sub settings()
putanja_source = "F:\prodaja\"
putanja_dest = "F:\treb\"
End Sub
Function skrati(File_Name As String)
Ext_NAME = Right(File_Name, 4)
tmp_RB = InStr(1, File_Name, "_", vbTextCompare)
tmp_TX = Right(File_Name, Len(File_Name) - tmp_RB)
tmp_RB2 = InStr(1, tmp_TX, "_", vbTextCompare)
tmp_TX_FINAL = Left(File_Name, tmp_RB + tmp_RB2 - 1)
skrati = tmp_TX_FINAL & Ext_NAME
End Function
TREBALO BI DA RADI......... sazalio sam se.....ali uci iz ovoga nesto, nemoj samo radi ocjene :)
[ milekrajina @ 14.05.2009. 18:48 ] @
Gde da stavim ovaj deo:
Dim putanja_source As String, putanja_dest As String
'==========================================
Dim tmp_RB As Integer, tmp_RB2 As Integer
Dim tmp_TX As String, tmp_TX_FINAL As String
Dim Ext_NAME As String
Dim PATH_PRODAJA As String, PATH_TREB As String
Hvala ti unapred
I HVALA ZA OVO DO SAD
[ milekrajina @ 14.05.2009. 18:59 ] @
Dobices fobiju od mene:-)
Sta ovde sta radi,posto mi je ovo nerazumljivo?
a poenta je ostala ista,dobijam sa F:\Prodaje u F:\Treb skracen fajl,Treb_908.dbf?
Hajde jos malo se iscimaj(znam da si i previse mi pomogao).........
[ milekrajina @ 14.05.2009. 19:07 ] @
zemo ne kopira mi nista
[ milekrajina @ 14.05.2009. 20:03 ] @
pomagajte...
ako ne predam ovo sutra,ode stipendija
[ dava @ 14.05.2009. 21:36 ] @
Evo probaj sa ovim kodom.
Dodaj u reference 'Microsoft Scripting Runtime'
dva dugmeta i dva txtBox-a
Code:
Option Explicit
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Dim fajlSource As String
Private Sub cmdCopy_Click()
Dim fso As FileSystemObject
Set fso = New FileSystemObject
If fso.FileExists(fajlSource) = False Then
Exit Sub
End If
Dim fajl As String
fajlSource = Trim(fajlSource)
If 0 = Asc(Right(fajlSource, 1)) Then
fajlSource = Left(fajlSource, Len(fajlSource) - 1)
End If
fajl = UzmiImeFajla(fajlSource)
fajl = Mid(fajl, 1, 8) & Right(fajl, 4)
fso.CopyFile fajlSource, txtDest.Text & fajl
End Sub
Public Function UzmiImeFajla(PutanjaIFajl As String) As String
UzmiImeFajla = StrReverse(Mid(StrReverse(PutanjaIFajl), 1, InStr(1, StrReverse(PutanjaIFajl), "\") - 1))
End Function
Public Function UzmiPutanju(PutanjaIFajl As String) As String
UzmiPutanju = Mid(PutanjaIFajl, 1, InStr(1, PutanjaIFajl, UzmiImeFajla(PutanjaIFajl)) - 1)
End Function
Private Sub cmdOpen_Click()
Dim OFName As OPENFILENAME
With OFName
.lStructSize = Len(OFName)
.hwndOwner = Me.hWnd
.hInstance = App.hInstance
.lpstrFilter = "All Files (*.*)" + Chr$(0) + "*.*" + Chr$(0) + "Dbf Files (*.dbf)" + Chr$(0) + "*.txt" + Chr$(0)
.lpstrFile = Space$(254)
.nMaxFile = 255
.lpstrFileTitle = Space$(254)
.nMaxFileTitle = 255
.lpstrInitialDir = "C:\"
.lpstrTitle = "Open File"
.flags = 0
End With
If GetOpenFileName(OFName) Then
fajlSource = OFName.lpstrFile
txtSource = Trim$(fajlSource)
End If
End Sub
[Ovu poruku je menjao dava dana 14.05.2009. u 22:48 GMT+1]
[ djpero.84 @ 14.05.2009. 22:47 ] @
Ja stvarno ne znam kako vise da ti pomognem. To sigurno radi. Code iskopiraj samo takav kakav je. Definisanje varijabli ide u vrh.....
Daj bogati skype ili posalji email ili ne znam ni ja pa da ti "realtime" pomogem, ili teamviewer da instaliras i da mi javis ID i PASS.
Ajde...... pozuri
[ milekrajina @ 15.05.2009. 07:42 ] @
stvarno je ruzno sto cu ti ovo reci tj. zatraziti ali ako mozes okaci mi ovde taj rad.
ja sam sve probao,ali ne ide...imam modemski internet,tako da bi sve islo sporo,skoro nikako nebi ni islo...
zamolicu te ako ti nije problem
[ djpero.84 @ 15.05.2009. 08:04 ] @
Eto:
[ djpero.84 @ 15.05.2009. 08:41 ] @
Samo promjeni one putanje, ja radi probe sam stavio "C:\Prodaja", ti promjeni na "F:\prodaja". Eto samo to....
[ milekrajina @ 15.05.2009. 12:33 ] @
zemo hvala ti....
radi sve kako treba,ostala mi je koza na ledjima:-)
ako imas neke literature u e-obliku,na srpskom,nakacije ovde
pa da krenem ozbiljnije da ovo radim
Hvala jos jednom
[ djpero.84 @ 15.05.2009. 13:21 ] @
Imas u top temama VB6 tutorijala, doduse na engleskom. A nema na cemu, i meni su ovdje ljudi pomagali, pa i ja pokusavam koliko mogu
[ milekrajina @ 29.05.2009. 08:47 ] @
Program sljaka sasvim dobro...nema zamerki
mada me sada interesuje druga stvar:ovde smo koristilii dva foldera u root-u F:\ ili C:\ nebitno sad
,mene zanima kako da npr. fajlove kupim iz F:\Prodaja\Prodaja1\Prodaja2\...\ u F:\Trebovanje?
[ djpero.84 @ 29.05.2009. 09:04 ] @
putanja_source="F:\prodaja1\prodaja2\"
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|