Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ShellExecute и PChar 
:(
    Опции темы
microo10
  Дата 18.6.2012, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 21.1.2012

Репутация: нет
Всего: нет



Помогите,нужно из файла получить ссылку и открыть ее в браузере. Для получения ссылки из файла я использовал TStringList :

Код

f:=TStringList.Create;
  f.LoadFromFile('text.txt');
  //вытаскиваем нужные строки
  Form1.b1.Caption:=f[1];
  Form1.b2.Caption:=f[3];
  Form1.b3.Caption:=f[5];
  Form1.b4.Caption:=f[7];

Побывал вот такой способ:

Код

ShellExecute(0, 'open',PChar(f.Strings[1]), nil, nil, SW_SHOW);

Но открывалась не ссылка,а директория исполняемого файла 
Help me please smile 
PM MAIL   Вверх
CynicRus
Дата 18.6.2012, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 31.5.2012

Репутация: 2
Всего: 5



Код

ShellExecute(Application.Handle, 'open', PChar(f.Strings[1]), nil, nil, SW_NORMAL); 

PM MAIL   Вверх
microo10
Дата 18.6.2012, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 21.1.2012

Репутация: нет
Всего: нет



Цитата(CynicRus @  18.6.2012,  12:03 Найти цитируемый пост)
ShellExecute(Application.Handle, 'open', PChar(f.Strings[1]), nil, nil, SW_NORMAL); 

НЕ помогло опять папка с файлом открывается =(

PM MAIL   Вверх
CynicRus
Дата 18.6.2012, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 31.5.2012

Репутация: 2
Всего: 5



Покажи, что у тебя лежит в f.Strings[1].
PM MAIL   Вверх
microo10
Дата 19.6.2012, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 21.1.2012

Репутация: нет
Всего: нет



Цитата(CynicRus @ 18.6.2012,  15:02)
Покажи, что у тебя лежит в f.Strings[1].

Я указывал не f.Strings[1] а f.Strings[371] в текстовой документе это строка 370 по идее http://rghost.ru/38254591 вот.
PM MAIL   Вверх
Beltar
Дата 19.6.2012, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 0
Всего: 7



По идее, или по факту? Так сложно посмотреть в отладчике чему равны переменные? И еще, а почему такой адрес вообще должен где-то открываться помимо Windows Explorer? Это врод не html-файл. Правильно видимо будет запустить браузер (не скажу, как определить браузер по умолчанию, это другой вопрос) и уже ему передать линк, как параметр.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Akella
Дата 19.6.2012, 14:53 (ссылка)   | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 8
Всего: 329



Используй PAnsiChar

Добавлено через 35 секунд
или PWideChar.

Добавлено через 1 минуту и 11 секунд
Ты же скрываешь версию IDE.
Вот пример для юникодной версии Delphi
Код
ShellExecute(Application.ActiveFormHandle, 'open', PWideChar(sUserDocsPathToSend), nil, PWideChar(sUserDocsPathToSend), SW_SHOWNORMAL);

PM MAIL   Вверх
Keeper89
Дата 19.6.2012, 14:56 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Цитата(Akella @  19.6.2012,  14:53 Найти цитируемый пост)
Вот пример для юникодной версии Delphi

Независимо от версии, там должно быть PChar - сама нужную версию (A или W) подцепит.

Это сообщение отредактировал(а) Keeper89 - 19.6.2012, 14:57


--------------------
PM MAIL WWW   Вверх
Akella
Дата 19.6.2012, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 8
Всего: 329



Значит у него путь неправильный и/или предпоследний параметр не заполнен - dir.
PM MAIL   Вверх
microo10
Дата 19.6.2012, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 21.1.2012

Репутация: нет
Всего: нет



Если я просто ссылку указываю то все работает,а если данным способом то только открывает корневую папку программы((( 
PM MAIL   Вверх
Keeper89
Дата 19.6.2012, 21:57 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



microo10, 
ты потомственный партизан или просто не читаешь что пишут?
Приведи, что лежит в f.Strings[1]


--------------------
PM MAIL WWW   Вверх
microo10
Дата 23.6.2012, 18:06 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 21.1.2012

Репутация: нет
Всего: нет



Цитата(Keeper89 @ 19.6.2012,  21:57)
microo10, 
ты потомственный партизан или просто не читаешь что пишут?
Приведи, что лежит в f.Strings[1]

Я уже ответил! Ссылка там:
Код

http://rghost.ru/38254591

PM MAIL   Вверх
Keeper89
Дата 23.6.2012, 18:46 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



microo10, да пойми, что никто не будет тут весь проект твой скачивать (а уж тем более собирать и смотреть, что же там отладчик покажет). Отослав всех туда, вероятность получения ответа уже как видишь приблизилась к 0. Приведи строчку тут, и она стремительно возрастет.

Это сообщение отредактировал(а) Keeper89 - 23.6.2012, 18:47


--------------------
PM MAIL WWW   Вверх
Чучмек
Дата 23.6.2012, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 7
Всего: 41



microo10, Тебе только кажется, что там 
Цитата(microo10 @  19.6.2012,  13:16 Найти цитируемый пост)
 http://rghost.ru/38254591
, на самом деле там пустая строка


Цитата(microo10 @  19.6.2012,  13:16 Найти цитируемый пост)
Я указывал не f.Strings[1] а f.Strings[371] в текстовой документе это строка 370 


На самом деле f.Strings[370]  это 371 строка в текстового документа


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
microo10
Дата 23.6.2012, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 21.1.2012

Репутация: нет
Всего: нет



проект

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  HackBase.rar 229,41 Kb
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0700 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.