[ 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\"