Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.09.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 4.525 c
4-1196163825
delpher_g
2007-11-27 14:43
2008.09.14
Как программно замедлить скорость вращения CD-ROMа


2-1217625174
self.name
2008-08-02 01:12
2008.09.14
stream1.read(stream2,size); почему не работает?


2-1217799907
demon
2008-08-04 01:45
2008.09.14
RegisterClass и RegisterClassEx в чем разница?


15-1216902649
DevilDevil
2008-07-24 16:30
2008.09.14
можно ли как то в опциях Delphi-проекта указать выходное имя *.ex


11-1193144413
Виктор007
2007-10-23 17:00
2008.09.14
Помогите создать кнопку





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