Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Запуск файлов хрянящихся в БД

Автор: Дмитрий
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Запуск файлов хрянящихся в БД

Данный код реализует чтение из Бд строки где спрятан путь к файлу,
далее для удачного запуска "курсор" переместим в папку, от куда надо
запустить разбиваем строку на файл(для запуска) и на директорию
(для перемещения "курсора").

Переброска "курсора" необходима для правильного запуска приложения.
Приложение может быть как под Windows, так и под Dos.

Зависимости: Windows, SysUtils
Автор:       Дмитрий, ahmaev@mail.ru, ICQ:100716670, Пенза
Copyright:   Дмитрий
Дата:        9 июля 2002 г.
***************************************************** }

procedure TForm1.dxfColorButton1Click(Sender: TObject);
var
  s, files1, files: string;
  dir, dir1: string;
  apchar: array[0..500] of char;
  i_s1: integer;
begin
  {Находим нужную строку в Бд}
  table1.locate('kod_s', treeview1.selected.parent.index + 1,
    [loCaseInsensitive]);
  table2.locate('game', treeview1.selected.Text, [loCaseInsensitive]);
  {Перепишем из БД строки содержащие ссылки в переменные}
  s := table2.fields[4].asstring;
  k_s := length(table2.fields[4].asstring) + 1;
  files := '';
  dir := '';
  repeat
    i_s := i_s + 1;
    k_s := k_s - 1;
    {Поставим семафор, чтоб разделить путь и имя файла}
    if s[k_s] = '\' then
      en := 1;
    if s[k_s] <> '\' then
      if en = 0 then
        files := files + s[k_s];
    if en = 1 then
      dir := dir + s[k_s];
  until i_s = length(table2.fields[4].asstring);
  {Переворачиваем считанное "путь до файла" и "имя файла"}
  for i_s1 := length(files) downto 1 do
    files1 := files1 + files[i_s1];
  for i_s1 := length(dir) downto 1 do
    dir1 := dir1 + dir[i_s1];
  {Переводим курсор в папку откуда должна запустится программа}
  chdir(dir1);
  strpcopy(apchar, files1);
  {Запускаем программу}
  shellexecute(handle, 'open', apchar, 0, 0, SW_maximize);
end;
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay