Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> копирования файлов! Есть исходник! 
:(
    Опции темы
Lider07
  Дата 10.6.2003, 12:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот маленький кодик Посмотрите пожайлуста может чем поможете! Там надо зделать чтоб он путь считывал с едит1 куда копировать! Я додумался как сделать чтоб он считывал от куда копировать но куда чтото с этим туго !!
Зарания спасибо!
procedure TForm1.Button2Click(Sender: TObject);
var
Fo : TSHFileOpStruct;
buffer : array[0..4096] of char;
p : pchar;
begin
FillChar(Buffer, sizeof(Buffer), #0);
копирования
FillChar(Fo, sizeof(Fo), #0);
Fo.Wnd := Handle;
Fo.wFunc := FO_COPY; //Действие
Fo.pFrom := PChar(Edit1.text);//@buffer ; //Источник<---- вот то что надо было сделать
Fo.pTo := 'd:\B' ; // показываем куда копируем <--- тут аналогичная ситуация "но оно не работает"
Fo.fFlags := 0;
if ((SHFileOperation(Fo) <> 0) or
(Fo.fAnyOperationsAborted <> false)) then
ShowMessage('помогите!');

end;



procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute;
edit1.Text:=OpenDialog1.filename;

end;

end.

  Вверх
Song
Дата 10.6.2003, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



...
Fo.pFrom := PChar(Edit1.text+#0);
...


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Unregistered
Дата 11.6.2003, 20:59 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











спасибо что ты с man2002ua Сразу помогли! Как прочитать фаил запушенный другим преложением. Но вот с копированием файлов чтото не получается!
  Вверх
lider07
Дата 11.6.2003, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 11.6.2003
Где: Бишкек

Репутация: нет
Всего: нет



Люди помогите пожайлуста! как это сделать я уже вымучился! Зарания Спасибо!
PM MAIL ICQ MSN   Вверх
Song
Дата 12.6.2003, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Чего #0 не спасло?


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Unregistered
Дата 12.6.2003, 10:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Скопируй так, что ли. А то разбираться неохота: всегда этой процедурой копировал. Хотя твой вариант работает, наверное, быстрее.

Код
procedure MyCopyFile (S1, S2 : String);
var FIn, FOut : File;
   L, N, C   : LongInt;
   Buf       : array [1..20000] of Byte;
  function Min (X, Y : LongInt) : LongInt;
  begin
     if X < Y
     then Min := X
     else Min := Y
  end;
begin
  AssignFile (FIn, S1);
  AssignFile (FOut, S2);
  ReSet (FIn, 1);
  ReWrite (FOut, 1);
  L := FileSize (FIn);
  N := 0;
  repeat
     C := Min (L-N, 20000);
     BlockRead (FIn, Buf, C);
     BlockWrite (FOut, Buf, C);
     Inc (N, C);
  until N >= L;
  CloseFile (FIn);
  CloseFile (FOut);
end;
{=======}

  Вверх
lider07
Дата 12.6.2003, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 11.6.2003
Где: Бишкек

Репутация: нет
Всего: нет



Конешно спасиба за исходник но мне именно нужен чтоб тот код работал!

PM MAIL ICQ MSN   Вверх
dm9
Дата 12.6.2003, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Должен заметить, что твой код работает у меня под Windows 2000 прекрасно (Delphi 6).

Не понял только, зачем используешь FillChar.

2Song: А разве PChar сам не справляется с задачей добавления нолика в конец? По-моему, он это и делает...

Это сообщение отредактировал(а) dm9 - 12.6.2003, 11:04
PM MAIL ICQ   Вверх
dm9
Дата 12.6.2003, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Что-то я перечитал твой топик и ни ничего не понял sad.gif

У тебя какие проблемы? Как сделать, чтобы в Edit1 был путь к источнику, а в Edit2 - куда копировать?

Или проблемы с самим копированием?

Если первое, то используй TOpenDialog и TSaveDialog:

Код
procedure TForm1.Button1Click(Sender: TObject);
var
  Fo : TSHFileOpStruct;
begin
  Fo.Wnd := Handle;
  Fo.wFunc := FO_COPY;
  Fo.pFrom := PChar(Edit1.Text);
  Fo.pTo := PChar(Edit2.Text);
  if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false))
  then ShowMessage('Error');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if OpenDialog1.Execute
  then Edit1.Text := OpenDialog1.FileName;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  if SaveDialog1.Execute
  then Edit2.Text := SaveDialog1.FileName;
end;


Если второе, то там всё работает...

Предложение: чтобы тебя понимали, пиши точнее, что надо, И С ПУНКТУАЦИЕЙ НОРМАЛЬНОЙ И С ОРФОГРАФИЕЙ, блин...

Модераторам: разместите, что ли, учебник русского языка в прикрепленных темах... хотя это не поможет.

Это сообщение отредактировал(а) dm9 - 12.6.2003, 11:18
PM MAIL ICQ   Вверх
lider07
Дата 12.6.2003, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 11.6.2003
Где: Бишкек

Репутация: нет
Всего: нет



Еще маленький вопрос а можно сделать чтоб Файл отсылался по IP адресам Допустим 10.1.1.0 .10.1.1.1. 10.1.1.2 Вот в таком порядки!?
Зарания спасибо!
PM MAIL ICQ MSN   Вверх
lider07
Дата 12.6.2003, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 11.6.2003
Где: Бишкек

Репутация: нет
Всего: нет



Конешно спасибо dm9 Но твой код опять не работает копировать копирует но расширения файла не подписывает!
PM MAIL ICQ MSN   Вверх
Monty
  Дата 12.6.2003, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Цитата(lider07 @ 12.6.2003, 12:46)
Конешно спасибо dm9 Но твой код опять не работает копировать копирует но расширения файла не подписывает!

Я тоже тебя нэ понимаю smile.gif

Что у тебя не работает? у меня твой код работает спокойно smile.gif
Файл копирует, и расширение подписывает т.е. то имя которое ему я задал (edit2.txt ;)

Цитата
Fo.pTo := 'd:\B' ; // показываем куда копируем <--- тут аналогичная ситуация "но оно не работает"
а здесь у меня нет проблемы... проверь путь

вот он smile.gif
Код
procedure TForm1.Button2Click(Sender: TObject);
var
Fo : TSHFileOpStruct;
buffer : array[0..4096] of char;
p : pchar;
begin
FillChar(Buffer, sizeof(Buffer), #0);
FillChar(Fo, sizeof(Fo), #0);
Fo.Wnd := Handle;
Fo.wFunc := FO_COPY;
Fo.pFrom := PChar(Edit1.text);
Fo.pTo := PChar(Edit2.Text);
Fo.fFlags := 0;
if ((SHFileOperation(Fo) <> 0) or
(Fo.fAnyOperationsAborted <> false)) then
ShowMessage('Mist!');

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute;
edit1.Text:=OpenDialog1.filename;
end;

end.



--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Monty
  Дата 12.6.2003, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Цитата
Fo.pTo := 'd:\B' ; // показываем куда копируем <--- тут аналогичная ситуация "но оно не работает"

теперь
Цитата
Fo.pTo := PChar('d:\B') ; // показываем куда копируем <--- тут аналогичная ситуация "но оно не работает"
и что все равно не работает?


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
&-ray
Дата 12.6.2003, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 406
Регистрация: 15.4.2003
Где: Казахстан, г Аста на

Репутация: нет
Всего: нет



Цитата
Еще маленький вопрос а можно сделать чтоб Файл отсылался по IP адресам Допустим 10.1.1.0 .10.1.1.1. 10.1.1.2 Вот в таком порядки!?
Зарания спасибо!


Для генерирования последовательности IP-адресов делай так:

function GenerateNextIP(OldIP: string): string;
var
x,y: integer;
NewIP,s: string;
begin
y:=0;
for x:=1 to length(OldIP) do
begin
if OldIP[x]='.' then inc(y);
if y=3
then break;
NewIP:=NewIP+OldIP[x];
end;
s:=copy(OldIP,x+1,length(OldIP)-(x-1));
try
x:=strtoint(s);
except
result:='';
end;
inc(x);
result:=NewIP+'.'+inttostr(x);
end;


--------------------
"Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б.

--------------------
И снова мышь беру я в руки
Куда иду? - Конечно в сруки!
PM MAIL WWW   Вверх
lider07
Дата 13.6.2003, 04:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 11.6.2003
Где: Бишкек

Репутация: нет
Всего: нет



Не все это у меня тут глюк был теперь работает!! А можно зделать чтоб сам занасил Ip арес и путь куда там копировать??
PM MAIL ICQ MSN   Вверх
Song
Дата 13.6.2003, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



2Monty
Fo.pTo := PChar('d:\B') ;

Компилятор сам в этом случае всё сделает. Не нужен PChar


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
lider07
Дата 14.6.2003, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 11.6.2003
Где: Бишкек

Репутация: нет
Всего: нет



Люди так что там насчет отправки по ip адресам?
некто в это помочь не может*?*
Зарания спасибо!
PM MAIL ICQ MSN   Вверх
Song
Дата 14.6.2003, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



smile.gif Да ты прикольный парень. Если бы так можно было, за тебя бы уже давно всю программу у тебя на компе сделали, так как в этом случае не было бы никакой системы безопасности.
Как вариант, предлагаю, по ИП узнать сетевое имя машины, замэпить диск и перекачать файл обычным CopyFile()


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
lider07
Дата 14.6.2003, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 11.6.2003
Где: Бишкек

Репутация: нет
Всего: нет



Так есть проблема машин 30 штук и че все диски подключать?

PM MAIL ICQ MSN   Вверх
lider07
Дата 15.6.2003, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 11.6.2003
Где: Бишкек

Репутация: нет
Всего: нет



А вот с ытими функциями можно копировать по Ip адресам? (SDK) NetUserSetInfo и NetUserChangePassword confused.gif ; -)
PM MAIL ICQ MSN   Вверх
dm9
Дата 19.6.2003, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Если есть админские права, то можешь зайти на чужой диск так: \\Computer\C$\WINNT\...
PM MAIL ICQ   Вверх
altarasjuk
Дата 19.6.2003, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 7.5.2003
Где: Харьков

Репутация: 1
Всего: 1



dm9, если это NT платформа...


--------------------
Правда - изобретение маньяков: колет глаза и режет уши.
PM MAIL ICQ   Вверх
dm9
Дата 19.6.2003, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Не спорю. Это просто один из вариантов.
PM MAIL ICQ   Вверх
altarasjuk
Дата 19.6.2003, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 7.5.2003
Где: Харьков

Репутация: 1
Всего: 1



dm9, для любой винды можно так же, только вместо c$ - имя шары (если есть к ней права). Почему на NT появились такие прикольные $шары - для меня это самый интерестный вопрос. smile.gif


--------------------
Правда - изобретение маньяков: колет глаза и режет уши.
PM MAIL ICQ   Вверх
dm9
Дата 19.6.2003, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Интереснее, что они не отключаются стандартными средствами, ну да это уже оффтоп... smile.gif
PM MAIL ICQ   Вверх
lider07
Дата 22.6.2003, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 11.6.2003
Где: Бишкек

Репутация: нет
Всего: нет



вы вот спорите а нет бы исходник дать!!! wink.gif)
PM MAIL ICQ MSN   Вверх
Song
Дата 22.6.2003, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Ищем, о великий, ищем! Не сердись...


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
lider07
Дата 22.6.2003, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 11.6.2003
Где: Бишкек

Репутация: нет
Всего: нет



Цитата
Ищем, о великий, ищем! Не сердись...

Пока вы "ИЩЕТЕ" У меня уже прога работает!
PM MAIL ICQ MSN   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1863 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.