Вниз
Скачать: CL | DM;

Скрыть button   Найти похожие ветки 

← →
Mariya   (2007-10-10 07:26) [0]

Подскажите, пожалуйста, у меня есть

if Sender is TMyButton then
 a:=ShellExecute(handle, nil, Pchar((Sender as TMyButton).Prog), NiL, NiL, SW_SHOWNORMAL);
 if a <>42 then
 MessageDlg("Такой программы не существует!", mtInformation, [mbOk], 0);
Смогла написать, что если нет екзешника, выдает об этом сообщение, а можно при создании формы (при запуске) как бы проверить имеются ли екзешники, которые в ини Prog=... написаны, если нет, то просто не создавать эту кнопку. Пыталась в онкриейт написать  if a <>42 then btn[i].Visible:=False; не верно.


← →
ASoft   (2007-10-10 07:49) [1]

в oncreate:
если *ini..[prg] Prog=программа.exe* существует, то создать кнопку (создавать кнопки вы кажется научились:-))
беспредел какой-то, имхо....%)


← →
Mariya   (2007-10-10 08:56) [2]


> ini..[prg] Prog=программа.exe* существует

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


← →
ASoft   (2007-10-10 08:58) [3]

существует ли такой екзешник, указанный в ini


← →
Leonid Troyanovsky ©   (2007-10-10 09:20) [4]


> Mariya   (10.10.07 07:26)  

> написаны, если нет, то просто не создавать эту кнопку

Создавать кнопку не надо, достаточно одной на форме.
А надо из ini заполнить, например, TListBox (один)
именами исполняемых файлов.
При нажатии на кнопку пускаем выбранное приложение
with Listbox do WinExec(PChar(Items[ItemIndex]), SW_SHOW).

Можно и без кнопки, на ListBox.On{Dbl}Click

--
Regards, LVT.


← →
Mariya   (2007-10-10 09:27) [5]

Здесь немного не так. Есть форма, на ней должны быть кнопки с названиями баз данных, есть 10 юзеров, доступ к базам у всех разный (юзер1 например имеет доступ к 8 из 10 баз) так вот, и у него (каждого) получается установлены базы, к которые он может открывать, а к которым у него нет доступа, они не устанолены, нет екзешников. Получается мне нужно, при создании формы (типа программы навигатора), проверить установлены ли программы (есть ли екзешники), которые перечислены в ини-файле (там перечислены все базы), если установлены, то создать кнопки с названием этих баз, если не установлены, то эти кнопки не создавать вообще, чтобы юзер какбы даже не знал, что существуют другие базы.


← →
Leonid Troyanovsky ©   (2007-10-10 09:35) [6]


> Mariya   (10.10.07 09:27) [5]

>  то эти кнопки не создавать вообще, чтобы юзер какбы даже
> не знал, что существуют другие базы.

Дались тебе эти кнопки.
Если в листбоксе нет строки, то про нее никто и не узнает.

--
Regards, LVT.


← →
Kolan ©   (2007-10-10 09:40) [7]

> Leonid Troyanovsky ©   (10.10.07 09:20)

Ой ненадо, мы тут только с кнопками развязались, шас начнётся новая волна&#133

установлены базы &#133 у него нет доступа &#133 нет екзешников
Открою страшную тайну &#151; экзешники &#151; это не базы данных!

если установлены,&#133, если не установлены
Проверяйте существование файла FileExists. если ваши &laquo;базы&raquo; установлены в ProgramFiles, то добраться до них можно так:

IncludeTralingPathDelimiter(GetEnvironmentVariable("ProgramFiles"))+IncludeTralingPathDelimiter(Папака с &laquo;Базой&raquo;>)+<&laquo;База&raquo;.exe>


← →
Kolan ©   (2007-10-10 09:40) [8]

вместо <> подставьте нужные имена&#133


← →
Leonid Troyanovsky ©   (2007-10-10 09:45) [9]


> Kolan ©   (10.10.07 09:40) [7]

> Ой ненадо, мы тут только с кнопками развязались, шас начнётся

Хе-хе, развязались:
показывать - показали,
а скрыть - скрыли.

--
Regards, LVT.


← →
Mariya   (2007-10-10 09:52) [10]

Подскажите как мне в дельфи обратиться к записи в ини-файле, конкретно к kkk.exe чтобы проверить существует ли ОНО?
[Prog]
Prog1=kkk.exe
Prog2=ddd.exe


← →
Kolan ©   (2007-10-10 09:54) [11]

> Подскажите как мне в дельфи обратиться к записи в ини-файле

Ты издеваешься? Как то же ты их раньше загружала?&#133


← →
Mariya   (2007-10-10 09:57) [12]

Ini.ReadString("Prog", "Prog1", "   ") к этому можно применить FileExists?


← →
Kolan ©   (2007-10-10 10:00) [13]

Eсли предположить, kkk.exe лежит в ProgramFiles, то:

FileExists(IncludeTralingPathDelimiter(GetEnvironmentVariable("ProgramFile s"))+IncludeTralingPathDelimiter(kkk)+kkk.exe)
Жирным выделено то, что надо подставить&#133


← →
Leonid Troyanovsky ©   (2007-10-10 10:10) [14]


> Kolan ©   (10.10.07 10:00) [13]

> Eсли предположить, kkk.exe

Если предположить, что это exe, то проверять надо FindExecutable.

--
Regards, LVT.


← →
Mariya   (2007-10-10 10:22) [15]

Не обязательно в програм файлс, может лежать в любом месте на жестком диске, в любой папке


← →
Leonid Troyanovsky ©   (2007-10-10 10:27) [16]


> Mariya   (10.10.07 10:22) [15]

> Не обязательно в програм файлс, может лежать в любом месте
> на жестком диске, в любой папке

Ну, и славно.
Файлы конфигурации на то и даны, чтобы настраивать, в том числе,
пути поиска, имена файлов и т.д.

--
Regards, LVT.


← →
clickmaker ©   (2007-10-10 10:28) [17]


> [15] Mariya   (10.10.07 10:22)


как вариант, но не на все случаи

var
  Reg: TRegistry;

 Reg := TRegistry.Create(KEY_READ);
 try
    Reg.RootKey := "HKEY_LOCAL_MACHINE";
    if Reg.KeyExists("SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths" + ExeName) then
      // существует
  finally
    Reg.Free;
  end;


← →
ASoft   (2007-10-10 10:32) [18]

ну, все, хана.. Маша сейчас в реестр полезет-)))


← →
Игорь Шевченко ©   (2007-10-10 10:40) [19]

НАЙМИТЕ УЖЕ ПРОГРАММИСТА!!!


← →
Leonid Troyanovsky ©   (2007-10-10 11:17) [20]


> Игорь Шевченко ©   (10.10.07 10:40) [19]

> НАЙМИТЕ УЖЕ ПРОГРАММИСТА!!!

Не поможет :)
С консерваторией там чего-то не то,
около десятка уже, похоже, сбежали.

Ну, а задание просто генеральское: вместо того,
чтобы вытянуть на стол (меню) десяток ярлыков -
подать сюда навигатор, не менее.

--
Regards, LVT.


← →
clickmaker ©   (2007-10-10 11:24) [21]


> [18] ASoft   (10.10.07 10:32)
> ну, все, хана.. Маша сейчас в реестр полезет-)))

или утонет, или плавать научится )


← →
Anatoly Podgoretsky ©   (2007-10-10 11:34) [22]

Взлетит, не взлетит?

Мария найми Игоря на работу, конечно дорого, но и результат будет.


← →
Kolan ©   (2007-10-10 11:35) [23]

> Мария найми Игоря на работу

Из пушки по воробьям :)


← →
Anatoly Podgoretsky ©   (2007-10-10 12:20) [24]

> Kolan  (10.10.2007 11:35:23)  [23]

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


← →
Mariya   (2007-10-10 12:51) [25]


> бабки заплатили

ошибаетесь! :)
Игорь это кто?


← →
Mariya   (2007-10-10 13:03) [26]


> НАЙМИТЕ УЖЕ ПРОГРАММИСТА!!!

Я пытаюсь им стать, Вы же все уже взрослые, имеете хороший опыт во всем это, а я около месяца назад начала изучать Дельфи, и то с Вашей помощью много чего мне стало понятно.  Может через пару лет буду как и Вы людям помогать...


← →
Dib@zol ©   (2007-10-10 13:05) [27]

> Игорь это кто?
Осмелюсь предположить - который Шевченко?

> Вы же все уже взрослые,
Неправда.


← →
Игорь Шевченко ©   (2007-10-10 13:12) [28]

Mariya   (10.10.07 13:03) [26]

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

Читать наизусть до полного и окончательного просветления:
http://ln.com.ua/~openxs/articles/smart-questions-ru.html


← →
Mariya   (2007-10-10 13:12) [29]

Удалено модератором


← →
Mariya   (2007-10-10 13:17) [30]

Undeclared identifier "IncludeTralingPathDelimiter".


← →
Kolan ©   (2007-10-10 13:22) [31]

> [30] Mariya   (10.10.07 13:17)
> Undeclared identifier "IncludeTralingPathDelimiter".

IncludeTrailingPathDelimiter


← →
Kolan ©   (2007-10-10 13:23) [32]

Когда начинешь что-то писать нажми Ctrl+Space появится подсказка(Code insite)


← →
Игорь Шевченко ©   (2007-10-10 13:55) [33]


> Undeclared identifier "IncludeTralingPathDelimiter".


Больно слышать


← →
Mariya   (2007-10-10 14:21) [34]


> Больно слышать

Может читать менее больно?



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

Скачать: CL | DM;



Память: 0.53 MB
Время: 0.013 c
2-1192105505
vint45
2007-10-11 16:25
2007.11.04
Резкое увеличение размера динамического массива


15-1190289015
de.
2007-09-20 15:50
2007.11.04
Кто программирует под Linux? Отзовитесь !!!


2-1192194729
PPointer
2007-10-12 17:12
2007.11.04
Текстовый файл


15-1189794621
AntiUser
2007-09-14 22:30
2007.11.04
Microsoft обновляет файлы Windows без ведома пользователей


15-1190972708
Polevi
2007-09-28 13:45
2007.11.04
ftp.exe




   Наверх