Цитата
Fly5:
GetCurrentDir показывает правильную директорию
Delphi - Присвоить файлу имя папки в которой он находится
Так речь идет о кусках кода! Например, для чего у Вас компонент Edit1, что в нем "Text", откуда берется. Можно и нужно посмотреть, что у Вас после присваивания в переменных fullFileName, CommDesk, NewName и так далее - типа, копируйте например с if CopyFile...then и выводите в результат ShowMessage(NewName), проверяйте существование if FileExists.....then. Практически включите предусмотренные функциями ловушки ошибок и информативность при их выявлении.
Искать, самое занятное в процессе!
Цитата
Fly5:
правда совсем не ясно, как это сделать, если папка каждый раз разная
Delphi - Присвоить файлу имя папки в которой он находится
А переменные для чего? Запоминаете путь к выбранной, полученной, заданной папке в некой глобальной переменной и используете там где нужно.
Ну, что, выяснили что у Вас в NewName....?
Некрасивый способ показать где ошибка, но для примера
Код:
Код: Выделить всё
var
...
FullFileName, FolderName: string;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
FullFileName := OpenDialog1.FileName;
FolderName:=ExtractFilePath(FullFileName);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Pst: PChar;
CommDesk, NewName: string;
begin
NewName :=Copy(ChangeFileExt(ExtractFileDir(fullFileName), '') + '_newfile.rar', 4, Length(ChangeFileExt(ExtractFileDir(fullFileName), '') + '_newfile.rar'));
...
ShowMessage( FolderName+NewName); // то, что Вам нужно, для второго параметра в функции CopyFile!
// для первого параметра, все преобразования, можно сделать при присвоении свойства Edit1.Text.
A можно покопаться в процедуре ProcessPath.