Форум: "Начинающим";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
Вниз
Короткий путь DOS Найти похожие ветки
← →
Леонид (2007-03-27 13:50) [0]procedure TForm1.ToolButton13Click(Sender: TObject);
var fi:textfile;
s1,s2,L:string;
begin
If OpenDialog3.Execute Then
Begin
AssignFile(fi,Form1.d+"\Temp\File.txt");
s1:=(OpenDialog3.FileName{1});
s2:=(OpenDialog3.FileName{2});
ReWrite(fi);
WriteLn(fi,s1);
WriteLn(fi,s2);
CloseFile(fi);
End;
Но мне нужен короткий путь к фаулу, притом я написал функцию обрезки (12345678ываы.123 -> 123456~1.123), Но DOS не видет также пробелов и русского, дальнейшее усовершенствование процедуры долгое и бесполезное (на мой взгляд), т.к. есть стандартная функция GetShortPachName (OpenDialog3.FileName,L,bufff);
L:=pChar(Edit4.Text)+" <"+GetShortPachName(OpenDialog3.FileName,L,bufff)+ "Temp\File.txt";
winexec(pChar(L),1);
Мне надо запустить файл ехе с параметрами записанными в файле File.txt, петь d:\exe <Путь в формате дос\File.txt, Tckb "Win" программа не понимает
Не работает я Хелп, читал не помогло, подскажите как правельно?
← →
Elen © (2007-03-27 14:00) [1]
> Но DOS не видет также пробелов и русского
А ты что под ДОС пишешь? Ты думаеш твоя эта procedure TForm1.ToolButton13Click(Sender: TObject); под ДОСом работать будет?
← →
Desdechado © (2007-03-27 14:01) [2]> Мне надо запустить файл ехе с параметрами записанными в файле File.txt
А из командной строки пробовал такой механизм?
Ведь параметры должны быть в строке, а не в файле.
← →
Desdechado © (2007-03-27 14:02) [3]Elen © (27.03.07 14:00) [1]
Явно внешняя DOS-программа, а это к ней запускалка пишется.
← →
Elen © (2007-03-27 14:04) [4]
> Леонид (27.03.07 13:50)
А-а-а эта прога формирует файл с параметрами, которые потом будут в Дос-прогу через параметр передаваться?
← →
Elen © (2007-03-27 14:12) [5]
> L:=pChar(Edit4.Text)+" <"+GetShortPachName(OpenDialog3.FileName,
> L,bufff)+ "Temp\File.txt";
GetShortPachName возвращает число, а не строку. Его нужно использовать типа такого :procedure TForm1.FormCreate(Sender: TObject);
var p:array[0..32] of char; s:string;
begin
s:=ExtractFilePath (ParamStr(0));
caption:=inttostr(GetShortPathName(pchar(s), p,25));
caption:= caption+" "+p;
end;
← →
Elen © (2007-03-27 14:13) [6]
> GetShortPachName
И кстати пишется как GetShortPathName
← →
Леонид (2007-03-27 14:16) [7]
> А из командной строки пробовал такой механизм?
> Ведь параметры должны быть в строке, а не в файле.
Пробовал все работает, если дос путь вводить.
> Elen ©
>
> А-а-а эта прога формирует файл с параметрами, которые потом
> будут в Дос-прогу через параметр передаваться?
Ага, уже месяц пишу обработчик входных и выходных данных. Программа внешняя и реализовать на Delphi не возможно, и исходников нет, Интерфейс создаю дружественный
← →
Asail (2007-03-27 18:33) [8]А если попробовать путь вместе с названием файла в двойные кавычки засунуть? Типа, "c:\Program Files\Microsoft Office\MyFile.txt".
Может, прокатит, хотя не уверен. :-(
← →
Леонид (2007-03-27 18:42) [9]Не некатит, я уже все решил, просто неувидил или не доперевел хелп что GetShortPathName - выдает массив.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.047 c