Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ПОЧЕМУ НЕ РАБОТАЕТ?

6.2K
08 февраля 2006 года
thenilman
44 / / 28.05.2005
Цитата:
  • 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

11K
08 февраля 2006 года
McDevil
21 / / 08.12.2005
Цитата:
Originally posted by thenilman
[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 вообще существует? Если нет, то надо создать.

6.2K
08 февраля 2006 года
thenilman
44 / / 28.05.2005
Цитата:
Originally posted by McDevil
Что вы вообще сделать хотите?


Я хочу открыть заданный файл AC.Caption, который лежит по адресу ExtractFilePath(Application.ExeName)+'Temp' обозревателем ListBox1.Items.Strings[ListBox1.ItemIndex]
Все файлы, папки на месте есть, ссылки работают, я проверял, но всё, что делает этот кусок кода - вешает IE, либо запускает Netscape Navigator 4.75, а Netscape Browser 8.0 говорит, что такого файла нет =(
================
Извиняюсь за кривизну певого сообщения этой темы

5
08 февраля 2006 года
hardcase
4.5K / / 09.08.2005
Мы должны открывать не файл, а броузер и в качестве параметра передавать ему имя файла.
Код:
function OpenIt: cardinal;
  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;
6.2K
08 февраля 2006 года
thenilman
44 / / 28.05.2005
Цитата:
Originally posted by hardcase

Код:
function OpenIt: cardinal;
  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

5
08 февраля 2006 года
hardcase
4.5K / / 09.08.2005
Цитата:
Originally posted by thenilman
Так я так и делал. Просто ты всё красиво расписал.
Эта фигня по-прежнему не работает, по-моему, ей не передаётся lpDirectory


У меня с эксплорером работает. У тебя в путях есть пробелы? попробуй заключить параметр в кавычки. или передавать файл с полным путём к нему...

11K
10 февраля 2006 года
McDevil
21 / / 08.12.2005
Как раз сегодня одму у себя в колледже примерно такое же показывал. Надо было открыть екселевский фаил. Я написал так:
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;
Вот все работало. Теперь переделай применительно для себя.
6.2K
10 февраля 2006 года
thenilman
44 / / 28.05.2005
Цитата:
Originally posted by McDevil

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;


Не, ты не понял. Это не то. Оно открывает файл браузером по умолчанию, амне нужен тот, какой я хочу, его адрес и указываю

11K
10 февраля 2006 года
McDevil
21 / / 08.12.2005
Цитата:
Originally posted by thenilman
Не, ты не понял. Это не то. Оно открывает файл браузером по умолчанию, амне нужен тот, какой я хочу, его адрес и указываю


Посмотри в исходники\другое я кинул LanChat в нем зайдешь фаил-проводник. Так не так? А на прогу не смотри она корявая недоделанная.

6.2K
10 февраля 2006 года
thenilman
44 / / 28.05.2005
Цитата:
Originally posted by McDevil
Посмотри в исходники\другое я кинул LanChat в нем зайдешь фаил-проводник. Так не так? А на прогу не смотри она корявая недоделанная.


ВОПРОС: зафиг мне экзэшник?

11K
10 февраля 2006 года
McDevil
21 / / 08.12.2005
Цитата:
Originally posted by thenilman
ВОПРОС: зафиг мне экзэшник?


Ты не забывай CodeNet :D шучу. Ты смотрел проводник так ты сделать хочеш? Если да то поделюсь куском кода.

6.2K
10 февраля 2006 года
thenilman
44 / / 28.05.2005
Цитата:
Originally posted by McDevil
Ты не забывай CodeNet :D шучу. Ты смотрел проводник так ты сделать хочеш? Если да то поделюсь куском кода.


Я не понял, как им пользоваться

6.2K
10 февраля 2006 года
thenilman
44 / / 28.05.2005
Кстати, как ты задал отображаемый HTML обьекту TWebBrowser? :o
11K
10 февраля 2006 года
McDevil
21 / / 08.12.2005
Цитата:
Originally posted by thenilman
Я не понял, как им пользоваться


Указываешь путь для поиска и жмешь поиск для примера: "D:\*.*"

11K
10 февраля 2006 года
McDevil
21 / / 08.12.2005
Цитата:
Originally posted by thenilman
Кстати, как ты задал отображаемый HTML обьекту TWebBrowser? :o


Слухай задавай нормальные вопросы ...

6.2K
11 февраля 2006 года
thenilman
44 / / 28.05.2005
Цитата:
Originally posted by McDevil
Слухай задавай нормальные вопросы ...


Как ты заставил обьект TWebBrowser динамически отображать HTML, а не загруженный файл?

11K
11 февраля 2006 года
McDevil
21 / / 08.12.2005
Цитата:
Originally posted by thenilman
Как ты заставил обьект 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, посмотри его функции и т.д. Удачи !!!;)

6.2K
11 февраля 2006 года
thenilman
44 / / 28.05.2005
Разобрался, спасибо =)
Единственная проблема - картинки, если адрес ставить относительный, ищет не там.
Но этот баг, наверно, устранению не подлежит :D
Что касается проводника... нет, у тебя не то, я другое хотел сделать, что-то вроде "открыть с помощью". Теперь решил забить - времени нету со всем этим возиться
11K
11 февраля 2006 года
McDevil
21 / / 08.12.2005
Цитата:
Originally posted by thenilman
Разобрался, спасибо =)
Единственная проблема - картинки, если адрес ставить относительный, ищет не там.
Но этот баг, наверно, устранению не подлежит :D
Что касается проводника... нет, у тебя не то, я другое хотел сделать, что-то вроде "открыть с помощью". Теперь решил забить - времени нету со всем этим возиться


Я те говорю прога один сплошной косяк она и со смайликами беспонтово работает, если посылаешь например сразу два - не обрабатывает... Ето просто по телефону циплялись с пацаном ч/з cmd net send не похал вот и написал наскоряк !!!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог