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

funkcija CopyFileTo - sta ukljuciti??

[es] :: C/C++ programiranje :: funkcija CopyFileTo - sta ukljuciti??

[ Pregleda: 2760 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon funkcija CopyFileTo - sta ukljuciti??20.09.2005. u 22:26 - pre 226 meseci
htio bih koristiti f-ju CopyFileTo , ali nigdje ne mogu da nadjem sta da include-ujem.
bez ikakvog include-a mi borland ne prepoznaje tu f-ju...
trazio sam svuda i preko google-a, ali nista....
ako ko moze pomoci-bilo bi fino....

e, da... moze li se jos kako kopirati fajl u c/c++-u??
znam da ima jos i CopyFile, ali koliko sam nasao na net-u nesto se "zale" na nju...
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

Gogy

Član broj: 14618
Poruke: 35
*.cmu.carnet.hr.



Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??20.09.2005. u 23:08 - pre 226 meseci
Nisam cuo za probleme oko CopyFile funkcije.Mislim da je to najjednostavnije rjesenje na Windows platformi.
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??21.09.2005. u 00:16 - pre 226 meseci
ne, ne...
nisam rekao CopyFile... nego CopyFileTo

evo sad sam upravo rijesio problem bas sa funkcijom koju si ti naveo...
znaci sa CopyFile...i to je sada ok...

e, sta me sad interesuje, zasto ne radi jedna srodna stvar (zato necu otvarati novu temu)
evo sta sam uradio...

stavio sam Edit3 i Edit4, i fora je da se u njima navede putanja dva foldera i da se prvi prekopira u drugi (tj. fajlovi sa oznacenom ekstenzijom). Npr:

Edit3->Text="c:\\prvi folder\\*.*"
Edit4->Text="d:\\drugi"
i da se onda svi fajlovi iz prvog foldera prebace u drugi...

evo problematicnog koda:

#include<system.hpp>
//------------Button1-------------
{
String a,b;
a=Edit3->Text;
b=Edit4->Text;
system("copy a.c_str() b.c_str()");
Form1->Close();
}
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

danio
Danijel K
nema sanse
Varsava, Poljska

Član broj: 67203
Poruke: 50
*.acn.waw.pl.



Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??21.09.2005. u 00:41 - pre 226 meseci
Mozes koristiti ovako nesto:
Code:

#include <sstream>

ostringstream sstr;

String a,b;
a=Edit3->Text;
b=Edit4->Text;

sstr<<"copy "<<a<<" "<<b;

system(sstr.str().c_str());


Ali to je jako opasno! Sta ako ti neko napise u prvit edit box np a.txt a u drugi b.txt; format c:\?

Preporuca se koristenje ShellExecute

Code:


String a;
a=Edit3->Text+" "+Edit4->Text;

ShellExecute(NULL,"open","copy",a.c_str(),NULL,SW_SHOWNORMAL);


 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??21.09.2005. u 06:55 - pre 226 meseci
Pogledaj ovde:
http://bcbjournal.com/articles/vol2/9806/File_operations.htm
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??21.09.2005. u 11:39 - pre 226 meseci
provjericu ovo sto ste mi rekli...
uglavnom, hvala vam puno na odgovorima...
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??21.09.2005. u 13:18 - pre 226 meseci
u redu, za kopiranje jednog fajla koristim CopyFile, ali pri kopiranju vise fajlova nekog direktorijuma nastaje problem.

danio, ovo mi ne radi:

String a;
a=Edit3->Text+" "+Edit4->Text;

ShellExecute(NULL,"open","copy",a.c_str(),NULL,SW_SHOWNORMAL);

program jednostavno ni ne reaguje....
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

danio
Danijel K
nema sanse
Varsava, Poljska

Član broj: 67203
Poruke: 50
*.acn.waw.pl.



Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??21.09.2005. u 15:24 - pre 226 meseci
Imas pravo. Napravio sam testove i doso do zakljucka da "copy" ne postoji kao program nego je dio shella. Nema veze, zato postoji program "xcopy.exe". Ovo sam pretestirao i radi:
Code:

#include <windows.h>
#include <string>
#include <iostream>

using namespace std;

int main()
{
    string a;
    a=Edit3->Text+" "+Edit4->Text;

    int ret=(int)ShellExecute(NULL,"open","xcopy",a.c_str(),NULL,SW_SHOWNORMAL);
    
    switch(ret)
    {
        case 0:    cout<<"The operating system is out of memory or resources."<<endl; break;
        case ERROR_FILE_NOT_FOUND:    cout<<"The specified file was not found."<<endl; break;
        case ERROR_PATH_NOT_FOUND:    cout<<"The specified path was not found."<<endl; break;
        case ERROR_BAD_FORMAT:    cout<<"The .exe file is invalid (non-Microsoft Win32 .exe or error in .exe image)."<<endl; break;
        case SE_ERR_ACCESSDENIED:    cout<<"The operating system denied access to the specified file."<<endl; break;
        case SE_ERR_ASSOCINCOMPLETE:    cout<<"The file name association is incomplete or invalid."<<endl; break;
        case SE_ERR_DDEBUSY:    cout<<"The Dynamic Data Exchange (DDE) transaction could not be completed because other DDE transactions were being processed."<<endl; break;
        case SE_ERR_DDEFAIL:    cout<<"The DDE transaction failed."<<endl; break;
        case SE_ERR_DDETIMEOUT:    cout<<"The DDE transaction could not be completed because the request timed out."<<endl; break;
        case SE_ERR_DLLNOTFOUND:    cout<<"The specified dynamic-link library (DLL) was not found."<<endl; break;
        //case SE_ERR_FNF:    cout<<"The specified file was not found."<<endl; break;
        case SE_ERR_NOASSOC:    cout<<"There is no application associated with the given file name extension. This error will also be returned if you attempt to print a file that is not printable."<<endl; break;
        case SE_ERR_OOM:    cout<<"There was not enough memory to complete the operation."<<endl; break;
        //case SE_ERR_PNF:    cout<<"The specified path was not found."<<endl; break;
        case SE_ERR_SHARE:    cout<<"A sharing violation occurred."<<endl; break;
    }

    system("PAUSE");

    return 0;
}
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??21.09.2005. u 21:10 - pre 226 meseci
ok, provjericu, hvala...
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
..31.216.81.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


+2 Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??22.09.2005. u 16:00 - pre 226 meseci
CopyFileTo() je garant necija izmisljotina... Borlandova najverovatnije, jer, ako se ne varam, tako nesto ima Delphi. To nije WinAPI funkcija. Ako jeste onda je ili nesto prastaro ili nesto novo...
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.ptt.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??22.09.2005. u 16:34 - pre 226 meseci
Funkcija je Indy-jeva, npr:

Code:

// ...
#include <idglobal.hpp>
// ...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   CopyFileTo( "c:\\sql.txt", "d:\\sql.txt" );
}
// ...

 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??29.09.2005. u 22:21 - pre 226 meseci


nekada napisano:

"evo problematicnog koda:

#include<system.hpp>
//------------Button1-------------
{
String a,b;
a=Edit3->Text;
b=Edit4->Text;
system("copy a.c_str() b.c_str()");
Form1->Close();
}"

e kako sam glup!!
pa ne upotrebljava se "copy" za kopiranje citavog folder-a u neki drugi vec "xcopy"!!

znaci bice:

system("xcopy d:\\folder1\\folder2 d:\\folder1 ");
pa se tu jos moze umetnuti i "/e/c/q/y"...cisto da ne zapitkuje nista....

a je li neko sad zna kako da odradim da:

1. mi se komand prompt ne pokazuje pri izvrsenju ovog koda
i
2. kako da odradim da mi program provjeri da li je kopiranje izvrseno uspjesno (da bih,ako jeste, mogao zadavati u programu sljedece zadatke...-nesto kao f-ja CopyFile koja vraca "true" ako je kopiranje uspjesno izvrseno....)

ima li ko kakvu ideju??

[Ovu poruku je menjao fucking voodoo dana 29.09.2005. u 23:22 GMT+1]
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??30.09.2005. u 05:45 - pre 226 meseci
Nisi pogledao onaj sajt na koji sam te uputio...

Kopiranje sa system() mi je totalno neozbiljno. Na onom sajtu koji sam ti bio
ostavio, jedno od resenja je: SHFileOperation(), mada, kada bi meni trebao takav
kod iskljucivo bih se bazirao na rekurzivni FindFirst/FindNext...

Code:

int __fastcall CopyDir( AnsiString SourceDir, AnsiString DestDir )
{
   char cSDir[MAX_PATH], cDDir[MAX_PATH];
   memset(cSDir, 0, MAX_PATH);
   memset(cDDir, 0, MAX_PATH);
   strcpy(cSDir, SourceDir.c_str());
   strcpy(cDDir, DestDir.c_str());


   SHFILEOPSTRUCT dfstruct;
   ZeroMemory(&dfstruct, sizeof(dfstruct));
   dfstruct.hwnd = Application->Handle;
   dfstruct.wFunc = FO_COPY;
   dfstruct.pFrom = cSDir;
   dfstruct.pTo = cDDir;
   dfstruct.fFlags = FOF_SILENT  | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR;
   return SHFileOperation(&dfstruct);
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   CopyDir( "c:\\downloads\\*.*", "c:\\downloads2" );
}

 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??30.09.2005. u 11:23 - pre 226 meseci
isao sam na onaj sajt i cak sam na MSDN-u citao i trazio po net-u o "SHFileOperation()"
ali nakon sto mi se ucinilo dosta (nepotrebno) komplikovanim, mislio sam na brzaka smutiti nesto sa system("xcopy...

ali cu ipak na kraju mozda uraditi bas preko "SHFileOperation()"....
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??30.09.2005. u 12:52 - pre 226 meseci
pokusao sam uraditi sa ovim kodom koji si mi dao, x files, i to je sve u redu, osim jedne stvari:

za razliku od CopyFile i system("xcopy... ova f-ja javlja da ne moze da izvrsi naredbu ukoliko nije sve kako treba...

npr. uradio sam sljedece:

dao sam da se kopira folder1\\*.* u folder2... i onda sam izmjenio ime folder1 u npr. folddeerr1 (znaci da mi iskopira nesto u putanji koja ne postoji (sto je vecinom i slucaj u mome programu- i to mi izmedju ostalog i treba...) ) ali ono onda izbaci nesto kao "cannot read from specified drive..."... <- e meni ovo ne treba!!!
ja hocu da mi nista ne javi ako postoji neka graska, vec samo AKO POSTOJI mogucnost da se prekopira sto sam naredio-da se to i izvrsi I da se javi programu da je izvrseno kako bi on nastavio sa zadacima, a ako se kopiranje iz nekog razloga ne moze izvrsiti-da nista ne javlja korisniku....

Mislio sam da bi pomoglo GetLastError(), ali opet javlja korisniku da ne moze da procita, i opet nisam rijesio povratnu informaciju programu da je kopiranje izvrseno...

e u tome su mi dobre bile CopyFile i system("xcopy... ali one nisu dovoljne....

ja sam gledao kako to da sredim na onome sajtu sto si mi dao, ali nisam nista uspio ....

mislis da je ovo sve nekako izvodljivo uz pomoc "SHFileOperation()" ??

[Ovu poruku je menjao fucking voodoo dana 30.09.2005. u 13:54 GMT+1]
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??30.09.2005. u 13:56 - pre 226 meseci
Sve se moze sa SHFileOperation() samo treba podesiti flag-ove. Inace,
detekcija nepostojece putanje *je tvoja odgovornost*!

Code:

// ...
#include <SysUtils.Hpp>
// ...
if ( DirectoryExists( "C:\\windows\\system32" ) )
{
   // kopiraj
}
else
{
   // poruka o nepostojecoj putanji
}


[Ovu poruku je menjao X Files dana 30.09.2005. u 14:56 GMT+1]
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: funkcija CopyFileTo - sta ukljuciti??30.09.2005. u 15:10 - pre 226 meseci
ma ne...
uopste nije problem ako ne postoji putanja....
samo sam rekao da je to vrlo cesta situacija, a ne da je losa....

to ce se vrlo cesto desavati, i to je OK, ali NIJE OK ako , kad se to desi, program tj. sistem da korisniku obavjestenje da nema te lokacije!!!

znaci TO hocu da izbjegnem!!!!Necu nikakva upozorenja!! znaci: ili iskopiraj jedan folder u drugi i javi programu da si uspio (normalno ako je sve oko), ili jednostavno CUTI, nista se ne zali i ne obavjestavaj ako nisi uspio iskopirati!!!!

to je to...
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

[es] :: C/C++ programiranje :: funkcija CopyFileTo - sta ukljuciti??

[ Pregleda: 2760 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

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