Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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)

Ой ненадо, мы тут только с кнопками развязались, шас начнётся новая волна&#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 вся ветка

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

Наверх




Память: 0.52 MB
Время: 0.049 c
15-1190887121
Washington
2007-09-27 13:58
2007.11.04
Программирование автомагнитолы


2-1192430713
Kolan
2007-10-15 10:45
2007.11.04
Корректна ли запись PAnsiChar := @string ?


1-1187684815
ehhhh
2007-08-21 12:26
2007.11.04
наложение изображения


15-1191658605
Суслик
2007-10-06 12:16
2007.11.04
Вирусы и защита от них - а надо оно?


2-1192004516
Unknown user
2007-10-10 12:21
2007.11.04
выделение большого объема памяти





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