Главная страница
    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.043 c
1-1187688195
Alex.rus
2007-08-21 13:23
2007.11.04
Как получить доступ к свойствам компонента расположенном на друго


15-1191450765
Суслик
2007-10-04 02:32
2007.11.04
adwords от гугл


11-1175322891
Trible
2007-03-31 10:34
2007.11.04
Содержимое RichEdit


2-1192219799
foreverDelphi
2007-10-13 00:09
2007.11.04
почему TOpenPictureDialog вызывает исключение


15-1191378171
Slider007
2007-10-03 06:22
2007.11.04
С днем рождения ! 3 октября 2007 среда





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