IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Запуск и переименование файла
AlexSCH
сообщение 20.07.2006 14:27
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 36
Пол: Мужской

Репутация: -  0  +


У меня такой вопрос:
Программа написанная в делфи считывает файл, который перед этим преобразовывается другой программой, эта дополнительная программа запускается по событию через делфи программу. Получается что по нажатию кнопки в прге написанной на делфи запускается дополнительная программа на диске и преобразовывает файл формата 1 (например) в файл формата2, и только затем программа написанная на делфи считывает файл (формата 2). Получается что название файла для подпрограммы должно быть четко фиксированным, а самой прогой которая в делфи написана надо открывать файлы любого названия, но так как она использует перед открытием подпрограмму, этого сделать не получается. Вот что я придумал, при запуске основной программы (делфи) переименовывать файл нужный для открытия в то зафиксированное имя, нужное для работы подпрограммы. Как это можно сделать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Гость
сообщение 24.07.2006 22:21
Сообщение #2


Гость






Действительно никто не знает как это делается?
нужно чтобы при открытии через opendialog программа переименовывала открываемый файл
Помогите пожалуйста.

 К началу страницы 
+ Ответить 
Malice
сообщение 25.07.2006 8:42
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Цитата(Гость @ 24.07.2006 23:21) *

Действительно никто не знает как это делается?
нужно чтобы при открытии через opendialog программа переименовывала открываемый файл
Помогите пожалуйста.

Насколько я понял из твои объяснений:
Цитата
сделать копию-->переименовать копию в "hex.hex"-->записать на диск в ту же директорию где выполняется программа

Это значит скопировать открываемый файл в "hex.hex". Переименование не знаю для чего ты приплел. И если так, то вот, что тебе надо:
// процедура копирования файла
procedure CopyFile(Source, Destination: string);
var
FromF, ToF: file of byte;
Buffer: array[0..4096] of char;
NumRead: integer;
FileLength: longint;
begin
AssignFile(FromF, Source);
reset(FromF);
AssignFile(ToF, Destination);
rewrite(ToF);
FileLength := FileSize(FromF);
while FileLength > 0 do begin
BlockRead(FromF, Buffer[0], SizeOf(Buffer), NumRead);
FileLength := FileLength - NumRead;
BlockWrite(ToF, Buffer[0], NumRead);
end;
CloseFile(FromF);
CloseFile(ToF);
end;

Использование в твоем случае:
If OpenDialog1.Execute
then begin
Test:=OpenDialog1.FileName;
CopyFile(Test,'hex.hex'); // <--
............
Memo1.Lines.LoadFromFile("pb.txt");
end;
end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
AlexSCH   Запуск и переименование файла   20.07.2006 14:27
volvo   AlexSCH, я не понял, в чем проблема? Ты просто не ...   20.07.2006 15:22
AlexSCH   не просто переименовать. Ситуация такая, что нажав...   20.07.2006 17:19
volvo   Ну, если ты пользуешься TOpenDialog, то у него ест...   20.07.2006 18:01
AlexSCH   Ну, если ты пользуешься TOpenDialog, то у него ес...   21.07.2006 11:30
mj   а может передавать в запускаемую программу имя фай...   21.07.2006 8:47
Гость   Действительно никто не знает как это делается? нуж...   24.07.2006 22:21
Malice   Действительно никто не знает как это делается? ну...   25.07.2006 8:42
AlexSCH   На строке CopyFile(Test,'hex.hex'); выдае...   25.07.2006 11:06
Malice   На строке CopyFile(Test,'hex.hex'); выда...   25.07.2006 12:15
AlexSCH   Test объявлена как string, с самого начала была. Е...   25.07.2006 14:35
Malice   Test объявлена как string, с самого начала была. ...   25.07.2006 15:00
hardcase   Люди, вы чего ерундой откровенной занимаетесь? Зач...   25.07.2006 15:21
AlexSCH   Большое всем спасибо (особенно Malice) за оказанну...   25.07.2006 15:56


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 6.08.2025 8:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"