Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1175002596
Tor
2007-03-27 17:36
2007.04.15
Grid или DBGrid


9-1147026510
QuickFinder
2006-05-07 22:28
2007.04.15
Программирование настольных логических игр


11-1156073941
case
2006-08-20 15:39
2007.04.15
Укажите ошибку (почему прга не реагирует на мессаги) .


15-1174567505
xman
2007-03-22 15:45
2007.04.15
StarTeam


6-1161717785
Psychedelic
2006-10-24 23:23
2007.04.15
Socks proxy компонент





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский