Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.16;
Скачать: CL | DM;

Вниз

Как реализовать в 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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.025 c
2-1188021926
Bast
2007-08-25 10:05
2007.09.16
Скачать


2-1187754858
АндрейК
2007-08-22 07:54
2007.09.16
при нажатии кнопки F2 нажималась button1


2-1187691079
Daedr
2007-08-21 14:11
2007.09.16
профессионалам отдельная просьба - быть снисходительными.


9-1160119250
pasha_golub
2006-10-06 11:20
2007.09.16
Стратегии. Расчеты


1-1183635629
Tack
2007-07-05 15:40
2007.09.16
Как при открытии TOpenDialog задать формат отображения файлов?