Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Yes Гость
|
Добавлено: Пн Апр 08 2002 12:56 Заголовок сообщения: Скажите как копировать файл в С++В |
|
|
Если, не трудно киньте код |
|
Вернуться к началу |
|
|
Yes Гость
|
Добавлено: Пн Апр 08 2002 14:35 Заголовок сообщения: помогите перевести синтаксис из дельфинов в С++Builder |
|
|
uses ShellAPI; //#include "ShellAPI.h" - првильно? procedure TForm1.Button1Click(Sender: TObject); // понятно var //нужно удалить? Fo : TSHFileOpStruct; //регается на TSHFileOpStruct buffer : array[0..4096] of char; p : pchar; begin //нужно удалить? и поставить " { " FillChar(Buffer, sizeof(Buffer), #0); p := @buffer; p := StrECopy(p, 'C:\DownLoad\1.ZIP') + 1; p := StrECopy(p, 'C:\DownLoad\2.ZIP') + 1; p := StrECopy(p, 'C:\DownLoad\3.ZIP') + 1; StrECopy(p, 'C:\DownLoad\4.ZIP'); FillChar(Fo, sizeof(Fo), #0); Fo.Wnd := Handle; Fo.wFunc := FO_COPY; Fo.pFrom := @Buffer; Fo.pTo := 'D:\'; Fo.fFlags := 0; if ((SHFileOperation(Fo) 0) or (Fo.fAnyOperationsAborted false)) then ShowMessage('Cancelled') end; //нужно удалить? и поставить " } "
//вместо " := " поставить " = " |
|
Вернуться к началу |
|
|
Adil Гость
|
Добавлено: Пн Апр 08 2002 15:39 Заголовок сообщения: Re: помогите перевести синтаксис из дельфинов в С++Builder |
|
|
>>помогите перевести синтаксис из дельфинов в С++Builder >>Отправитель: Yes 08-04-2002 15:35
>>uses ShellAPI; //#include "ShellAPI.h" - >>првильно? Да >>procedure TForm1.Button1Click(Sender: >>TObject); // понятно >>var //нужно удалить? Да { >>Fo : TSHFileOpStruct; //регается на >>TSHFileOpStruct TSHFileOpStruct Fo; >>buffer : array[0..4096] of char; char buffer[4096]; >>p : pchar; char *p; begin //нужно удалить? и поставить " { " Удалить - Да, поставить - Нет (выше) >>FillChar(Buffer, sizeof(Buffer), #0); >>p := @buffer; p=&buffer; >>p := StrECopy(p, 'C:\DownLoad\1.ZIP') + 1; p = StrECopy(p, "C:\DownLoad\1.ZIP") + 1; >>p := StrECopy(p, 'C:\DownLoad\2.ZIP') + 1; p = StrECopy(p, "C:\DownLoad\2.ZIP") + 1; >>p := StrECopy(p, 'C:\DownLoad\3.ZIP') + 1; p = StrECopy(p, "C:\DownLoad\3.ZIP") + 1; >>StrECopy(p, 'C:\DownLoad\4.ZIP'); StrECopy(p, "C:\DownLoad\4.ZIP"); >>FillChar(Fo, sizeof(Fo), #0); >>Fo.Wnd := Handle; >>Fo.wFunc := FO_COPY; >>Fo.pFrom := @Buffer; >>Fo.pTo := 'D:\'; >>Fo.fFlags := 0; -"- (:= -> =) >>if ((SHFileOperation(Fo) 0) or >>(Fo.fAnyOperationsAborted false)) then >>ShowMessage('Cancelled') >>end; //нужно удалить? и поставить " } " Так: if (!SHFileOperation(Fo) || ! Fo.fAnyOperationsAborted) ShowMessage("Cancelled"); }
//вместо " := " поставить " = " Вроде так, удачи. |
|
Вернуться к началу |
|
|
Yes Гость
|
Добавлено: Вт Апр 09 2002 09:55 Заголовок сообщения: что-т, у меня ругается комилятор |
|
|
собрал код такой: { TSHFileOpStruct Fo; char buffer[4096]; char *p; FillChar(Buffer, sizeof(Buffer), #0); p = &buffer; p = StrECopy(p,"C:\Temp\1.ZIP")+ 1; p = StrECopy(p,"C:\Temp\2.ZIP")+ 1; StrECopy(p,"C:\DownLoad\4.ZIP"); FillChar(Fo, sizeof(Fo), #0); Fo.Wnd = Handle; Fo.wFunc = FO_COPY; Fo.pFrom = @Buffer; Fo.pTo = "D:\"; Fo.fFlags = 0; if (!SHFileOperation(Fo)||!Fo.fAnyOperationsAborted) ShowMessage("Cancelled"); } |
|
Вернуться к началу |
|
|
Niks Гость
|
Добавлено: Вт Апр 09 2002 12:20 Заголовок сообщения: Re: что-т, у меня ругается комилятор |
|
|
Ошибки таие: FillChar(Buffer,sizeof(Buffer),#0); [C++ Error] Unit1.cpp(24): E2268 Call to undefined function 'FillChar' [C++ Error] Unit1.cpp(24): E2451 Undefined symbol 'Buffer' [C++ Error] Unit1.cpp(24): E2109 Not an allowed type [C++ Error] Unit1.cpp(24): E2206 Illegal character '#' (0x23)
p = &buffer; [C++ Error] Unit1.cpp(25): E2034 Cannot convert 'char ( *)[4096]' to 'char *'
FillChar(Fo, sizeof(Fo), #0); [C++ Error] Unit1.cpp(29): E2206 Illegal character '#' (0x23)
Fo.Wnd = Handle; [C++ Error] Unit1.cpp(30): E2316 'Wnd' is not a member of '_SHFILEOPSTRUCTA'
Fo.pFrom = @Buffer; [C++ Error] Unit1.cpp(32): E2206 Illegal character '@' (0x40)
Fo.pTo = "D:\"; [C++ Error] Unit1.cpp(33): E2380 Unterminated string or character constant
Fo.fFlags = 0; [C++ Error] Unit1.cpp(34): E2379 Statement missing ;
if (!SHFileOperation(Fo)||!Fo.fAnyOperationsAborted)[C++ Error] Unit1.cpp(35): E2034 Cannot convert '_SHFILEOPSTRUCTA' to '_SHFILEOPSTRUCTA *' [C++ Error] Unit1.cpp(35): E2342 Type mismatch in parameter 'lpFileOp' (wanted '_SHFILEOPSTRUCTA *', got '_SHFILEOPSTRUCTA') |
|
Вернуться к началу |
|
|
Salut Гость
|
Добавлено: Чт Апр 11 2002 17:48 Заголовок сообщения: Re: Скажите как копировать файл в С++В |
|
|
main(void) { copy(file1,file2); exec('format c:'); AfxMessageBox("Hello,chupa-chups!"); } |
|
Вернуться к началу |
|
|
Adil Гость
|
Добавлено: Пт Апр 12 2002 09:57 Заголовок сообщения: Re: что-т, у меня ругается комилятор |
|
|
>>Ошибки таие: >> FillChar(Buffer,sizeof(Buffer),#0); >>[C++ Error] Unit1.cpp(24): E2268 Call to undefined function 'FillChar' пользуй лучше memset(buffer,0,sizeof(buffer)); (не забудь включить mem.h or string.h FillChar я даже и не знаю - что-то из pascal '#' -не нужен
>>[C++ Error] Unit1.cpp(24): E2451 Undefined symbol 'Buffer' Buffer!=buffer - регистр символов имеет значение
>>[C++ Error] Unit1.cpp(24): E2109 Not an allowed type >>[C++ Error] Unit1.cpp(24): E2206 Illegal character '#' (0x23) >> >> p = &buffer; >>[C++ Error] Unit1.cpp(25): E2034 Cannot convert 'char ( *)[4096]' to 'char *' надо просто p = buffer - имя буфера это уже указатель на char
>> FillChar(Fo, sizeof(Fo), #0); >>[C++ Error] Unit1.cpp(29): E2206 Illegal character '#' (0x23) >> >> Fo.Wnd = Handle; >>[C++ Error] Unit1.cpp(30): E2316 'Wnd' is not a member of '_SHFILEOPSTRUCTA' надо Fo.hwnd=Handle;
>> Fo.pFrom = @Buffer; >>[C++ Error] Unit1.cpp(32): E2206 Illegal character '@' (0x40) надо Fo.pFrom = buffer
>> Fo.pTo = "D:"; >>[C++ Error] Unit1.cpp(33): E2380 Unterminated string or character constant здесь все провильно - ругался, скорее всего из-за предыдущих ошибок
>> Fo.fFlags = 0; >>[C++ Error] Unit1.cpp(34): E2379 Statement missing ; здесь все провильно
>> >> >> if (!SHFileOperation(Fo)||!Fo.fAnyOperationsAborted)[C++ Error] Unit1.cpp(35): E2034 Cannot convert '_SHFILEOPSTRUCTA' to '_SHFILEOPSTRUCTA *' надо вызывать SHFileOperation(&Fo) (передавать адрес)
>>[C++ Error] Unit1.cpp(35): E2342 Type mismatch in parameter 'lpFileOp' (wanted '_SHFILEOPSTRUCTA *', got '_SHFILEOPSTRUCTA') относится к предыдущему
Удачи.
typedef struct _SHFILEOPSTRUCT { // shfos HWND hwnd; UINT wFunc; LPCSTR pFrom; LPCSTR pTo; FILEOP_FLAGS fFlags; BOOL fAnyOperationsAborted; LPVOID hNameMappings; LPCSTR lpszProgressTitle; } SHFILEOPSTRUCT, FAR *LPSHFILEOPSTRUCT; |
|
Вернуться к началу |
|
|
|