• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak przenieść folder?

Object Storage Arubacloud
–1 głos
373 wizyt
pytanie zadane 12 lipca 2016 w C i C++ przez Mariusz111 Nowicjusz (190 p.)
Używam C++ Buildera, mam przycisk oraz 2 pola tekstowe. Chce aby w pierwszym polu tekstowym wprowadzano lokacje folderu do przeniesienia a w drugim polu tekstowym lokacje do której ma zostać folder przeniesiony wszystko ma być aktywowane przyciskiem, jak to zrobić?

4 odpowiedzi

+1 głos
odpowiedź 14 lipca 2016 przez maly Nałogowiec (37,190 p.)
wybrane 14 lipca 2016 przez Mariusz111
 
Najlepsza

Możesz użyć funkcję SHFileOperation.

int CopyDirectory(AnsiString From, AnsiString To, bool Move)
{
	From = IncludeTrailingPathDelimiter(From) + "*";

	SHFILEOPSTRUCT shfileopstruct;
	ZeroMemory(&shfileopstruct, sizeof(shfileopstruct));

	shfileopstruct.wFunc = Move?FO_MOVE:FO_COPY;
	shfileopstruct.pFrom = From.c_str();
	shfileopstruct.pTo = To.c_str();
	shfileopstruct.fFlags = FOF_NOCONFIRMMKDIR;

	return SHFileOperation(&shfileopstruct);
}
// Jeśli Move ustawione bedzie na true to przeniesie cala zawartosc folderu, jesli na false to skopiuje
CopyDirectory("D:\\Source\\Path", "C:\\Dest\\Path", false);

 

+1 głos
odpowiedź 12 lipca 2016 przez obl Maniak (51,280 p.)

Do realizacji samego przenoszenia folderu możesz wykorzystać funkcję rename, która została opisana tutaj. Z resztą ci nie pomogę bo nie korzystam z Buildera.

komentarz 12 lipca 2016 przez Mariusz111 Nowicjusz (190 p.)

Jeśli zrobie tak to będzie dobrze?

 

 

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{ 

int result;
  char oldname[] ="Edit1(nazwa pola tekstowego)";
  char newname[] ="Edit2(nazwa pola tekstowego)";
  result= rename( oldname , newname );
}

 

komentarz 13 lipca 2016 przez obl Maniak (51,280 p.)
rename(Edit1->Text.c_str(),Edit2->Text.c_str());

Tekst z pierwszego edita może być np taki:

C:\Folder1

A z drugiego:

C:\Jakiś folder\Folder1

Wtedy przeniesie ci Folder1 z C na C:\Jakiś folder

komentarz 13 lipca 2016 przez Mariusz111 Nowicjusz (190 p.)
Da się foldery przenosić pomiędzy partycjami?
komentarz 13 lipca 2016 przez obl Maniak (51,280 p.)

Jestem trochę zaskoczony, ale niestety, ta funkcja jak również funkcja MoveFile nie umożliwia przenoszenie folderu z plikami pomiędzy partycjami.

+1 głos
odpowiedź 12 lipca 2016 przez jeremus Maniak (59,720 p.)
  MoveFile(Edit1->Text.c_str(),Edit2->Text.c_str());

musisz podać  nazwę docelową folderu  - a nie tylko lokalizację

np. c:\folder1 chcesz przenieść do np. c:\nowa_lokalizacja 

to Edit1->Text="c:\Folder1"

Edit2->Text="c:\Nowa_lokalizacja\Folder1"

komentarz 13 lipca 2016 przez Mariusz111 Nowicjusz (190 p.)
To działa, ale z plikami, nie moge przenieść folderu, jak to zrobic?
komentarz 13 lipca 2016 przez jeremus Maniak (59,720 p.)
tak jak podałem w przykładzie  przenosi folder wraz z plikami
0 głosów
odpowiedź 2 września 2019 przez fff Gaduła (3,950 p.)

 

możesz użyć CopyFile("x","y", false)

x-pierwsza lokalizacja

Y-lokalizacja końcowa

lecz najpierw utwórz zmienne i prześlij do nich dane
 

Podobne pytania

–3 głosów
1 odpowiedź 323 wizyt
0 głosów
1 odpowiedź 160 wizyt
pytanie zadane 4 listopada 2016 w C i C++ przez Maniutek Użytkownik (520 p.)
0 głosów
1 odpowiedź 185 wizyt

92,554 zapytań

141,399 odpowiedzi

319,535 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...