ПОЧЕМУ НЕ РАБОТАЕТ?
- ListBox1.Items.Strings[ListBox1.ItemIndex] содержит адрес обозревателя
- AC.Caption - имя (без адреса) файла
- ExtractFilePath(Application.ExeName)+'Temp' - папка, в которой лежит файл
[SIZE=1]ShellExecute(Application.Handle, PChar('open'), PChar(ListBox1.Items.Strings[ListBox1.ItemIndex]), PChar(AC.Caption), PChar(ExtractFilePath(Application.ExeName)+'Temp'), SW_SHOWNORMAL);[/SIZE]
Вопрос: что, чёрт побери, не работает? :x
[SIZE=1]ShellExecute(Application.Handle, PChar('open'), PChar(ListBox1.Items.Strings[ListBox1.ItemIndex]), PChar(AC.Caption), PChar(ExtractFilePath(Application.ExeName)+'Temp'), SW_SHOWNORMAL);[/SIZE]
Вопрос: что, чёрт побери, не работает? :x
Что вы вообще сделать хотите?
А папка Temp вообще существует? Если нет, то надо создать.
Что вы вообще сделать хотите?
Я хочу открыть заданный файл AC.Caption, который лежит по адресу ExtractFilePath(Application.ExeName)+'Temp' обозревателем ListBox1.Items.Strings[ListBox1.ItemIndex]
Все файлы, папки на месте есть, ссылки работают, я проверял, но всё, что делает этот кусок кода - вешает IE, либо запускает Netscape Navigator 4.75, а Netscape Browser 8.0 говорит, что такого файла нет =(
================
Извиняюсь за кривизну певого сообщения этой темы
var TmpDir: string;
lpOperation: PChar;
lpFile: PChar;
lpParameters: PChar;
lpDirectory: PChar;
nShowCmd: integer;
begin
TmpDir:=PChar(ExtractFilePath(Application.ExeName)+'Temp');
lpOperation:='open';
lpFile:=PChar(ListBox1.Items.Strings[ListBox1.ItemIndex]);
lpParameters:=PChar(AC.Caption));
lpDirectory:=PChar(TmpDir);
nShowCmd:=SW_SHOWNORMAL;
Result:=ShellExecute(Application.Handle, lpOperation, lpFile,
lpParameters, lpDirectory, nShowCmd);
end;
var TmpDir: string;
lpOperation: PChar;
lpFile: PChar;
lpParameters: PChar;
lpDirectory: PChar;
nShowCmd: integer;
begin
TmpDir:=PChar(ExtractFilePath(Application.ExeName)+'Temp');
lpOperation:='open';
lpFile:=PChar(ListBox1.Items.Strings[ListBox1.ItemIndex]);
lpParameters:=PChar(AC.Caption));
lpDirectory:=PChar(TmpDir);
nShowCmd:=SW_SHOWNORMAL;
Result:=ShellExecute(Application.Handle, lpOperation, lpFile,
lpParameters, lpDirectory, nShowCmd);
end;
Так я так и делал. Просто ты всё красиво расписал.
Эта фигня по-прежнему не работает, по-моему, ей не передаётся lpDirectory
Так я так и делал. Просто ты всё красиво расписал.
Эта фигня по-прежнему не работает, по-моему, ей не передаётся lpDirectory
У меня с эксплорером работает. У тебя в путях есть пробелы? попробуй заключить параметр в кавычки. или передавать файл с полным путём к нему...
procedure TForm1.Button1Click(Sender: TObject);
var a : string;
begin
a:= ExtractFilePath(ParamStr(0))+'123.xls';
ShellExecute(Application.Handle , 'open' , PChar(a) , nil, nil, 0)
end;
Вот все работало. Теперь переделай применительно для себя.
procedure TForm1.Button1Click(Sender: TObject);
var a : string;
begin
a:= ExtractFilePath(ParamStr(0))+'123.xls';
ShellExecute(Application.Handle , 'open' , PChar(a) , nil, nil, 0)
end;
Не, ты не понял. Это не то. Оно открывает файл браузером по умолчанию, амне нужен тот, какой я хочу, его адрес и указываю
Не, ты не понял. Это не то. Оно открывает файл браузером по умолчанию, амне нужен тот, какой я хочу, его адрес и указываю
Посмотри в исходники\другое я кинул LanChat в нем зайдешь фаил-проводник. Так не так? А на прогу не смотри она корявая недоделанная.
Посмотри в исходники\другое я кинул LanChat в нем зайдешь фаил-проводник. Так не так? А на прогу не смотри она корявая недоделанная.
ВОПРОС: зафиг мне экзэшник?
ВОПРОС: зафиг мне экзэшник?
Ты не забывай CodeNet :D шучу. Ты смотрел проводник так ты сделать хочеш? Если да то поделюсь куском кода.
Ты не забывай CodeNet :D шучу. Ты смотрел проводник так ты сделать хочеш? Если да то поделюсь куском кода.
Я не понял, как им пользоваться
Я не понял, как им пользоваться
Указываешь путь для поиска и жмешь поиск для примера: "D:\*.*"
Кстати, как ты задал отображаемый HTML обьекту TWebBrowser? :o
Слухай задавай нормальные вопросы ...
Слухай задавай нормальные вопросы ...
Как ты заставил обьект TWebBrowser динамически отображать HTML, а не загруженный файл?
Как ты заставил обьект TWebBrowser динамически отображать HTML, а не загруженный файл?
procedure TFmMain.TextToWebBrowser(Text:String; var WB:TWebBrowser);
var
Document:IHTMLDocument2;
V:OleVariant;
S:String;
begin
if WB.Document = nil then WB.Navigate('about :blank');
while WB.Document = nil do Application.ProcessMessages;
Document := WB.Document as IHtmlDocument2;
V:=VarArrayCreate([0, 0], varVariant);
S:=HTML[0]; Insert(ExtractFilePath(ParamStr(0))+'I\BG.jpg',S,Pos('background="',S)+12);
V[0]:=S+Text+HTML[1];
Document.Write(PSafeArray(TVarData(v).VArray));
//WBR.OleObject.Document.ParentWindow.ScrollBy(0, WBR.Height);
MSend.SetFocus;
Document.Close;
end;
Разберешься? Коменты писать времени нет, а вообще поработай с модулем MSHTML, посмотри его функции и т.д. Удачи !!!;)
Единственная проблема - картинки, если адрес ставить относительный, ищет не там.
Но этот баг, наверно, устранению не подлежит :D
Что касается проводника... нет, у тебя не то, я другое хотел сделать, что-то вроде "открыть с помощью". Теперь решил забить - времени нету со всем этим возиться
Разобрался, спасибо =)
Единственная проблема - картинки, если адрес ставить относительный, ищет не там.
Но этот баг, наверно, устранению не подлежит :D
Что касается проводника... нет, у тебя не то, я другое хотел сделать, что-то вроде "открыть с помощью". Теперь решил забить - времени нету со всем этим возиться
Я те говорю прога один сплошной косяк она и со смайликами беспонтово работает, если посылаешь например сразу два - не обрабатывает... Ето просто по телефону циплялись с пацаном ч/з cmd net send не похал вот и написал наскоряк !!!