Форум: "Начинающим";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];
ВнизСкрыть 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)
Ой ненадо, мы тут только с кнопками развязались, шас начнётся новая волна…
установлены базы … у него нет доступа … нет екзешников
Открою страшную тайну — экзешники — это не базы данных!
если установлены,…, если не установлены
Проверяйте существование файлаFileExists
. если ваши «базы» установлены в ProgramFiles, то добраться до них можно так:IncludeTralingPathDelimiter(GetEnvironmentVariable("ProgramFiles"))+IncludeTralingPathDelimiter(Папака с «Базой»>)+<«База».exe>
← →
Kolan © (2007-10-10 09:40) [8]вместо <> подставьте нужные имена…
← →
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]> Подскажите как мне в дельфи обратиться к записи в ини-файле
Ты издеваешься? Как то же ты их раньше загружала?…
← →
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)
Жирным выделено то, что надо подставить…
← →
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 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.049 c