Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Program kopiranje

[es] :: Pascal / Delphi / Kylix :: Program kopiranje

[ Pregleda: 3851 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gygy
Dragan Grbic

Član broj: 7861
Poruke: 205
*.sezampro.yu



Profil

icon Program kopiranje20.11.2003. u 21:23 - pre 247 meseci
Kako da napravim program koji ce kad kliknem na Buton1 da kopira na primer sve iz foldera gde mi se nalazi Project1.exe u folder npr C:\proba\
Hvala unapred!
GYGY
 
Odgovor na temu

goblin
Milan Aleksic
Gtech Belgrade, Sofware Engineer II
Beograd

Član broj: 4055
Poruke: 85
*.ptt.yu

Jabber: milanaleksic@gmail.com
Sajt: www.milanaleksic.net


Profil

icon Re: Program kopiranje22.11.2003. u 13:02 - pre 247 meseci
Koristi TFileListBox koji podesis da je nevidljiv, podesi ga da ti filtrira sta ti treba u poddirektorijumu iz kojeg kopiras, a zatim koristi funkciju CopyFile(). Proveri prvo da li postoji ciljni direktorijum (valjda DirectorExists(...), nisam siguran).

Opis svih ovih i jos mnogih drugih funkcija imas u helpu. Pozdrav
Don't try to impress me... I'm good !
 
Odgovor na temu

Milos D
Beograd

Član broj: 5621
Poruke: 280
*.ptt.yu



+1 Profil

icon Re: Program kopiranje23.11.2003. u 12:25 - pre 247 meseci
Pogledaj u win32.hlp objašnjenje funkcije SHFileOperation - možda deluje komplikovano na prvi pogled, ali radi odlično. (uses shellapi)

n.b.
pFrom i pTo parametri moraju da se završavaju sa DVA #0 karaktera (jedan #0 je uvek poslednji znak stringa, dok drugi oznacava kraj saržaja parametra).
 
Odgovor na temu

gygy
Dragan Grbic

Član broj: 7861
Poruke: 205
*.flashnet.co.yu.



Profil

icon Re: Program kopiranje24.11.2003. u 19:27 - pre 247 meseci
Hvala na trudu, ali zapravo meni treba sledece: Napravio sam neki nazovi "podsetnik" i sad zelim da kad ulazim u programa (TForm1.FormOpen) da on kopira bazu iz direktorijuma gde mi je baza (C:\Podenik\Baza.Dat i C:\Podenik\Broj.Dat) u vec kreiran direktorijum (c:\Podsetnik\Bazarez\Baza.dat i c:\Podsetnik\Bazarez\Broj.dat, radi sigurnosti) i da ne postavlja pitanje u fazonu da li si siguran... i tako to i ukoliko postoji da je prekopira. Kako bi to najlakse mogao da izvedem?
Unapred HVALA!!!
GYGY
GYGY
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
80.93.225.*



+62 Profil

icon Re: Program kopiranje25.11.2003. u 12:02 - pre 247 meseci
Code:

  CopyFile(pchar(OldName), pchar(NewName), false);


Ovo gore kopira fajl na odrediste bez obzira da li vec postoji. Ako zelis da ne "gazi" postojeci fajl, poslednji parametar treba da bude true.

Rajko
 
Odgovor na temu

Milos D
Beograd

Član broj: 5621
Poruke: 280
*.ptt.yu



+1 Profil

icon Re: Program kopiranje25.11.2003. u 12:42 - pre 247 meseci
Ako su samo dva fajla u pitanju, onda koristi copyfile kao sto kaze Rajko.

Ako hoces ceo direktorijum da kopiras, onda ponovo preporucujem SHFileOperation koji ne mora da te pita "are you sure", treba samo da postavis opciju FOF_NOCONFIRMATION

Ako bas neces SHFileOperation, onda mozes i da koristis FindFirst/FindNext funkcije (imas primer u helpu) pa svaki fajl iskopiras sa CopyFile.
 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.126.EUnet.yu



+1 Profil

icon Re: Program kopiranje25.11.2003. u 21:03 - pre 247 meseci
Snadji se sa ovim kodom:

Code:

function CopyFiles ( Source, Destination : string ): boolean;
Var s : string;
    Fo : TSHFileOpStruct;
    buffer  : array[0..4096] of char;
    p : pchar;
begin
     FillChar(Buffer, sizeof(Buffer), #0);
     p := @buffer;
     StrECopy( p, PChar( Source ));

     // Pripremamo podatke
     FillChar(Fo, sizeof(Fo), #0);
     Fo.Wnd    := Handle;
     Fo.wFunc  := FO_COPY;
     Fo.pFrom  := @Buffer;
     Fo.pTo    := PChar( Destination );
     Fo.fFlags := FOF_NOCONFIRMMKDIR or FOF_NOCONFIRMATION or
                  FOF_NOERRORUI or FOF_SILENT;
                  // FOF_RENAMEONCOLLISION - Preimenuj ako se desi da postoji fajl
     Result := ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false));
end;

 
Odgovor na temu

djnesha
nenad cvetkovic
nis

Član broj: 16569
Poruke: 184
*.dial.InfoSky.Net



Profil

icon Re: Program kopiranje27.11.2003. u 01:54 - pre 247 meseci
Obrati paznju na fazon :)
U direktorijumu gde ti je project1.exe napravis jedan batch fajl npr kopiraj.bat i u njemu upises:

copy *.* C:\proba

a onda u funkciji button1.click u Delphiju napises

winexec('kopiraj.bat',sw_hide);

i to je to! Kad kliknes dugme program pozove ovaj batch programcic i DOS-ovski iskopiras sta hoces! E,sad ocekujem da neko prokomentarise: U,ALA TI JE RESENJE! :)
mess with the best?
 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.54.EUnet.yu



+1 Profil

icon Re: Program kopiranje27.11.2003. u 11:04 - pre 247 meseci
U,ALA TI JE RESENJE! :)))))))))
 
Odgovor na temu

gygy
Dragan Grbic

Član broj: 7861
Poruke: 205
*.flashnet.co.yu.



Profil

icon Re: Program kopiranje03.12.2003. u 12:20 - pre 247 meseci
morlicu hvala na trudu ali mislim da je Rapaic Rajko dao najbolje po meni i najjednostavnije resenje za sada!
sredio sam pomocu njegovog koda posto sam imao samo da kopiram dva fajla, i sve to sam ubacio u Button1.onclick, i radi savrseno!!!
Hvala!!!
Pozdrav
GYGY
GYGY
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Program kopiranje

[ Pregleda: 3851 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.