Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Вниз

Как реализовать в ShellExecute следующий вариант >>>   Найти похожие ветки 

 
rtm ©   (2007-08-22 21:22) [0]

Всем привет, подскажите пожалуйста как вставить из
локальной таблицы с базой данных адрес на файл в строку,
вызывающей метод ShellExecute:
.....
procedure TForm1.Button1Click(Sender: TObject);
begin
shellexecute(handle, "open", "вот сюда (?)", nil, nil, SW_SHOW);
end;
.....

хочу создать архив заказов, чтобы юзер мог щелкнуть на строку
в БД, и нажав кнопку "Просмотреть" ему окрывался, сохраненный
ранее файл (допустим отчет в формате .txt).

Пытался реализовать Label.Caption с указанием пути и имени файла
но при следующей вставке в строку, типа такого
.....
shellexecute(handle, "open", Label.Caption , nil, nil, SW_SHOW);
.....

компилятор конечно же меня обрадовал ошибкой, подскажите что
можно сделать.

С уважением, rtm.


 
Leonid Troyanovsky ©   (2007-08-22 21:41) [1]


> rtm ©   (22.08.07 21:22)  

> компилятор конечно же меня обрадовал ошибкой, подскажите
> что можно сделать.

Прочитать ее текст?

--
Regards, LVT.


 
Германн ©   (2007-08-22 22:26) [2]


> Пытался реализовать Label.Caption с указанием пути и имени
> файла
> но при следующей вставке в строку, типа такого
> .....
> shellexecute(handle, "open", Label.Caption , nil, nil, SW_SHOW);
>
> .....
>
> компилятор конечно же меня обрадовал ошибкой, подскажите
> что
> можно сделать.
>

Сколько же раз за один день объяснять одно и то же :)
http://delphimaster.net/view/2-1187783503/


 
rtm ©   (2007-08-23 14:10) [3]

извиняюсь за недоходчивость но что-то я здесь взаимосвязи не вижу, получается Label.Caption мне надо указать как переменная PChar?


 
Германн ©   (2007-08-23 14:19) [4]


> rtm ©   (23.08.07 14:10) [3]
>
> извиняюсь за недоходчивость но что-то я здесь взаимосвязи
> не вижу, получается Label.Caption мне надо указать как переменная
> PChar?
>

Точная формулировка:
переменную Label.Caption нужно передать как параметр приведя её тип к PChar.


 
Leonid Troyanovsky ©   (2007-08-23 14:31) [5]


> rtm ©   (23.08.07 14:10) [3]

> извиняюсь за недоходчивость но что-то я здесь взаимосвязи
> не вижу

В окошечке Compiler Messages можно выделить строку с ошибкой,
нажать Ctrl-С и вставить в текст своего послания (Paste):

[Error] UnitX.pas(17): Incompatible types: "String" and "PChar"

Если текст не понятен даже со словарем, то можно,
стоя на той самой строке, нажать F1 и прочитать поучительную статью: Incompatible types: "<element>" and "<element>"

--
Regards, LVT.


 
rtm ©   (2007-08-23 20:17) [6]

да нет ребят я не про перевод ошибки, я спросил как мне сделать так чтобы процедура ShellExecute открыла файл, адрес которой динамически меняется в компоненте Label.Caption, например, нажал я кнопку 1, Label.Caption имел бы значение C:\1.txt, нажал кнопку "Показать" и мне открылся бы этот файл, потом нажал я кнопку 2, Label.Caption имел бы значение С:\2.txt, нажал кнопку "Показать" и мне открылся ся бы этот файл и т.д.
Как это можно сделать?
Спасибо.


 
@!!ex ©   (2007-08-23 21:01) [7]

> [6] rtm ©   (23.08.07 20:17)

Говорят тебе - сделай приведение типов!!!!
Винда понятия не имеет о существовании типа string.
Зато знает, что такое PChar.
Учитывая, что особенности архитектуры без проблем позволяют приводить string к PChar, этим надо пользоваться.
Но готового кода я все равно не скажу.. Ибо если после 5 постов разжевывания не сделаешь сам, не стоит вообще программрованием заниматься.
ИМХО

P.S.
маленькая подсказочка:
Приведение типов делаеться так
тип(переменная)


 
rtm ©   (2007-08-24 06:51) [8]

ну ладно ладно что ж так грубо, ведь форум для того и создан, но всеравно спасибо и на этом


 
rtm ©   (2007-08-24 06:52) [9]

а заниматься мне программированием или нет это не Вам решать вообще, Москва не сразу строилась ИМХО


 
alshtam ©   (2007-08-24 06:58) [10]

shellexecute(handle, "open",PChar(Label.Caption), nil, nil, SW_SHOW);


 
alshtam ©   (2007-08-24 07:03) [11]

вернее наверное Pansichar вместо Pchar, попробуй как пойдет


 
rtm ©   (2007-08-24 07:35) [12]

alshtam
Спасибо большое ты оказался на 100 % прав, дельный совет, без всяких лишних комментариев, спасибо еще раз.


 
@!!ex ©   (2007-08-24 09:30) [13]

> [9] rtm ©   (24.08.07 06:52)

Конечно не мне решать.
Только разница между программированием и копипастом, как между ********* и пулеметом.


 
rtm ©   (2007-08-24 14:20) [14]

да видишь в чем дело это не банальный копипаст, это чтобы понятнее форумчанам было, на самом деле там все сложнее и продумней и сроки поджимают, если ты знаешь решение то подскажи, а если нет то зачем выеживаться


 
@!!ex ©   (2007-08-24 14:59) [15]

> [14] rtm ©   (24.08.07 14:20)

Так давно же сказали: Приведи тип string к PChar.
Вот это:
PChar(Label.Caption) - и есть то самое приведение.
Теперь ты знаешь, как приводить типы.
А если бы тупо получил код, который в [10] - то скопипастил бы его и в следюущий раз, когда нужно было скажем привести POinter к Cardinal, опять бы задавал этот вопрос на форуме.


 
Anatoly Podgoretsky ©   (2007-08-24 15:25) [16]

> @!!ex  (24.08.2007 14:59:15)  [15]

А думаешь, сейчас что то изменилось?


 
rtm ©   (2007-08-25 14:57) [17]


> А думаешь, сейчас что то изменилось?

да уж поверь изменилось :)


 
rtm ©   (2007-08-25 14:58) [18]

и вообще ребят давайте уже вопрос закроем, проблема решена на том и пост надо закрыть, не будем препираться кто тут умнее и прав.


 
Leonid Troyanovsky ©   (2007-08-25 17:42) [19]


> rtm ©   (25.08.07 14:58) [18]

> и вообще ребят давайте уже вопрос закроем, проблема решена

Cложней, продуманней и сроки -
это, соб-сно, надо и доказать.

--
Regards, LVT.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.04 c
15-1187356097
TUser
2007-08-17 17:08
2007.09.16
Украина первой в мире признала астрологию наукой


15-1187776528
em240
2007-08-22 13:55
2007.09.16
Купил книгу без диска


2-1187643455
wp2
2007-08-21 00:57
2007.09.16
Как загрузить Rich-тест в компонент TRichEdit на этапе проэктир..


15-1187538724
Piter
2007-08-19 19:52
2007.09.16
Очень классная иллюзия


15-1187590944
kudatsky
2007-08-20 10:22
2007.09.16
Пропали хинты





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский