Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.14;
Скачать: CL | DM;

Вниз

как отвязать программу от определенного места   Найти похожие ветки 

 
dars73 ©   (2008-07-31 19:55) [0]

Профессионалы подскажите пожалуйста.  как отвязать програму от определенного места положения. тоесть чтобі можно білобі например ее поставить на другой диск и программа была бы работоспособна

программа находиться  C:\Container   внутри папки находится еще одна
Zakaz путь к ней  C:\Container\Zakaz

вот часть кода

Procedure Tform1.sosdanieTabl();
begin
with Table3 do
  begin
  close;
  FieldDefs.Clear;
  DatabaseName:="C:\Container\Zakaz";
  TableName:=TabNam;
  TableType:=ttDBase;
  {Создать поля}
  with FieldDefs do
  begin
  Add("Название", ftString, 40);
  Add("Кол", ftFloat, 0, False);
  Add("Длина", ftFloat, 0, False);
  Add("Ширина", ftFloat, 0, False);
  Add("Высота", ftFloat, 0, False);
  Add("Масса", ftFloat, 0, False);
  Add("Мах", ftFloat, 0, False);
  Add("Метка", ftFloat, 0, False);
  end;
  CreateTable;
  end;
end;

Procedure Tform1.PodkluchenieTab();
begin
Table3.Active:=false;
table3.DatabaseName:="C:\Container\Zakaz";
table3.TableName:=TabNam;
table3.Active:=true;
label9.Caption:=TabNam;
end;


 
Medbe}I{onok XML ©   (2008-07-31 20:01) [1]

DatabaseName:=".\Zakaz";


 
Medbe}I{onok XML ©   (2008-07-31 20:02) [2]

... И не менять текущий каталог процесса


 
Desdechado ©   (2008-07-31 20:05) [3]

1. Используем компонент TDatabase, прицепляя уже к нему TTable.
2. Указываем относительные пути: "..\Zakaz"

ЗЫ Использовтаь TTable - дурной тон. Хранить данные в папке программы - тоже. Еще хуже не использовать инсталлятор, т.к. следующая твоя проблема - таскать за своей программой BDE.


 
Medbe}I{onok XML ©   (2008-07-31 20:06) [4]

2. Указываем относительные пути: "..\Zakaz"

У него бд в подкаталоге рабочей папки а не в одном уровне с ней.


 
Евгений Р.   (2008-07-31 20:49) [5]

DatabaseName:=ParamStr(1);


 
dars73 ©   (2008-07-31 23:42) [6]


>  Еще хуже не использовать инсталлятор, т.к. следующая твоя
> проблема - таскать за своей программой BDE.

Это действительно для меня проблема так как не найду инфу на русском как пользоваться нормально инсталлером.

может кто подскажет где обсуждалось я пользую DBF

Пробовал паковать InstallShild Кажется 8 упаковало все ок и инсталлировало все ок вот только работать прога не захотела. подозреваю что BDE Не установилась..

спасибо всем за помощ


 
tesseract ©   (2008-07-31 23:58) [7]


> может кто подскажет где обсуждалось я пользую DBF

Пользуй встроенные базы, sqlite, fb embedded и иже с ними. Tdbf - довольно глючен. ExtractFilePath(application.exename) - сильно помогает при определении откуда программа запустилась.


 
dars73 ©   (2008-08-01 00:06) [8]


> Medbe}I{onok XML ©   (31.07.08 20:06) [4]
> 2. Указываем относительные пути: "..\Zakaz"У него бд в подкаталоге
> рабочей папки а не в одном уровне с ней


изменил как рекомендовали а отладчик выдает ошибку Invalid Derictory C:..\Zakaz


 
Поросенок Винни-Пух ©   (2008-08-01 00:09) [9]

изменил как рекомендовали а отладчик выдает ошибку Invalid Derictory C:..\Zakaz

не нада. я не так рекомендовал.


 
Поросенок Винни-Пух ©   (2008-08-01 00:12) [10]

Medbe}I{onok XML ©   (31.07.08 20:01) [1]
DatabaseName:=".\Zakaz";


Где ты там увидел  "C:" ?


 
dars73 ©   (2008-08-01 00:14) [11]

А я нигде не увидел в проге у меня

procedure TForm1.Button6Click(Sender: TObject);
begin
form1.RichEdit1.Visible:=false;
Opendialog1.InitialDir:="..\Zakaz";
OpenDialog1.Execute;
TabNam:=openDialog1.FileName;
form1.PodkluchenieTab;
Form1.GroupBox3.Visible:=true;
end;

а призапуске выдает ошибку С:..\Zakaz


 
dars73 ©   (2008-08-01 00:16) [12]

Пардон не ток кусок

А я нигде не увидел в проге у меня

Procedure Tform1.PodkluchenieTab();
begin
Table3.Active:=false;
table3.DatabaseName:="..\Zakaz";
table3.TableName:=TabNam;
table3.Active:=true;
label9.Caption:=TabNam;
end;


 
Поросенок Винни-Пух ©   (2008-08-01 00:18) [13]

DatabaseName:=".\Zakaz";

Одна точка если заказ это подкаталог рабочей папки программы.
или вообще без точки. Но никак не две точки.

и при чем здесь опендиалог?


 
dars73 ©   (2008-08-01 00:19) [14]

прошу прощения я баран!!!

одна точка перед слешем


 
Поросенок Винни-Пух ©   (2008-08-01 00:23) [15]

ну а теперь посмотри на это:

ShowMessage(ExpandFileName(".\Zakaz"))

И посмотри есть ли такая папка и есть ли в ней твой дбф


 
dars73 ©   (2008-08-01 00:39) [16]


> Поросенок Винни-Пух ©   (

да есть. А можно при помощи этой функции вычислить только путь откуда запущена программа??


 
Поросенок Винни-Пух ©   (2008-08-01 00:42) [17]

ParamStr(0) + ExtractFileDir


 
Нат   (2008-08-01 00:49) [18]

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

А с BDE не так все однозначно. Без инсталляции, даже если заработает, можно наловить тараканов.


 
dars73 ©   (2008-08-01 01:21) [19]

Спасибо всем вроде продвинулся.

Для меня проще оказалось определять где я и цеплять хвостики.


 
Нат   (2008-08-01 02:21) [20]

Свое решение подробнее, плиз.
Вдруг, кто еще заинтересуется.


 
Нат   (2008-08-01 02:23) [21]

Про "подробнее" - ошибся темой... :-(
Можно удалить.


 
Anatoly Podgoretsky ©   (2008-08-01 09:35) [22]

> Medbe}I{onok XML  (31.07.2008 20:06:04)  [4]

Неправда, у него в подкаталоге в папке с программой, а то что это не Program Files, так видимо по зубам получил от ОС вот и воткнул в отдельную папку. Ох и намучаются еще пользователи с ним, покак не уволят.


 
Плохиш ©   (2008-08-01 10:30) [23]


> Ох и намучаются еще пользователи с ним

Судя по постам автора, пользователей у программы не ожидается...


 
Medbe}I{onok XML ©   (2008-08-01 10:32) [24]

так я и говорю, что
У него бд в подкаталоге рабочей папки а не в одном уровне с ней.


 
Anatoly Podgoretsky ©   (2008-08-01 16:24) [25]

> Medbe}I{onok XML  (01.08.2008 10:32:24)  [24]

Дай определение Рабочая папка.


 
oldman ©   (2008-08-01 16:29) [26]

Удалено модератором


 
Leonid Troyanovsky ©   (2008-08-01 17:45) [27]


> dars73 ©   (31.07.08 19:55)  

> Профессионалы подскажите пожалуйста.  как отвязать програму
> от определенного места положения.

Для того, чтобы что либо почистить, надо что-то испачкать.
Т.е., отвязав программу от некоего местоположения,
необходимо привязать его к другому.

Иначе, получится ужасающая картина: идешь ты, скажем, по скверу,
а на каждом дереве - по солдату, безо всякой дисциплины.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2008-08-01 17:55) [28]


> Anatoly Podgoretsky ©   (01.08.08 16:24) [25]

> Дай определение Рабочая папка.

Да, пусть уж нормально, по-татарски, говорит.
Мы ж говорим: папка - рабочий, мамка - колхозница.

--
Regards, LVT.


 
Medbe}I{onok XML ©   (2008-08-01 18:09) [29]

Дай определение Рабочая папка.

Даю. записывайте:
это то где у него лежит exe.


 
dars73 ©   (2008-08-01 18:35) [30]

Спасибо всем за обсуждение и помощь

Вы все правы у этой программы только один пользователь маленькая фирма.
Прога написана конкретно под нее и служит только для ускорения того что можно былобы сделать ручками.

Папка просто копируется на комп этой фирмы через интернет по системе AnyPlace.

Я не профи я только учусь. с соображалкой впорядке а вот язык для меня пока еще нов. Много чего не знаю. Спасибо что не отфутболили в библиотеку так как у меня очень мало было времени. всего пару дней. сейчас както с горем попалам заработало и начало считать. Надеюсь Что смогу ее довести до преличного вида (Чтобы не стыдно было исходники показывать) и надеюсь на дальнейшую помощ. Книг много у меня есть но я практик. мне как говорится 1 раз увидеть код проще чем о нем 10 раз почитать.

Всем спасибо.

А с инсталлером конечно бы хотел разобраться но на русском ничегшо не нашел.

И если бы у кого было бы желание прокоментирровать мо так называемый код был бы очень рад.


 
Denis__ ©   (2008-08-01 19:21) [31]


> мне как говорится 1 раз увидеть код проще чем о нем 10 раз
> почитать.

И Скопи-пастить? Ты с этим заканчивай!



Страницы: 1 вся ветка

Текущий архив: 2008.09.14;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.022 c
15-1216708121
Dennis I. Komarov
2008-07-22 10:28
2008.09.14
Порекомендуйте снифф


3-1206004854
Alexey
2008-03-20 12:20
2008.09.14
Работа с таблицами Fox Pro в Delphi 7


3-1205489996
Павел Калугин
2008-03-14 13:19
2008.09.14
Грабли с MySql


15-1216779181
Slider007
2008-07-23 06:13
2008.09.14
С днем рождения ! 23 июля 2008 среда


4-1196619757
Belorus
2007-12-02 21:22
2008.09.14
CreateFiber