скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Запуск файлов хрянящихся в БД



Автор: Дмитрий

{ **** 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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook