PDA

Просмотр полной версии : Программирование в Delphi


Frosty
16.11.2006, 20:14
Решил написать маленькую программу и столкнулся с проблемой: команда OpenDialog1.InitialDir:= ругается на параметр рода %AppData%\Mozilla\Firefox\Profiles что делать?
П.С. по ходу будет возникать куча вопросов, т.к. пол года информатики на таме делфи по часу в неделю это не знания :D

VictorS
16.11.2006, 20:19
Frosty, "а по сопатке?" (c)
Что это за заголовок у топика?

Кажется, в Delphi есть возможность получить переменные среды. Т.о. нужно вначале получить значение для "%AppData%", а потом конкотенировать строки и пихать их в диалог. Как получать переменные среды не знаю, т.к. Delphi почти не занимался.

Смотрю ты извратиться решил? Идеей не поделишься? Может это в 2 движения можно в VS2005 сделать. :) Или хочешь сам дурью помаяться? :)

Frosty
16.11.2006, 20:22
Кажется, в Delphi есть возможность получить переменные среды. Т.о. нужно вначале получить значение для "%AppData%", а потом конкотенировать строки и пихать их в диалог. Как получать переменные среды не знаю, т.к. Delphi почти не занимался.

Смотрю ты извратиться решил? Идеей не поделишься? Может это в 2 движения можно в VS2005 сделать. :) Или хочешь сам дурью помаяться? :)
1 абзац мне сказал ровно ничего, а по второму: идея сделать прогу для им\экспортирования настроек из лисы простой в портабл:D

VictorS
16.11.2006, 20:24
Frosty, имхо это легче сделать cmd-скриптом, а не прогу писать. ;)

Frosty
16.11.2006, 20:28
Frosty, имхо это легче сделать cmd-скриптом, а не прогу писать. ;)
Хацу написать хоть одну прогу более менее дельную прогу, о bat-файле уже думал, но чет не захотелось возвращаться в великую командную строку:)

MDM
16.11.2006, 21:52
Frosty,
можно извратиться по-правильному, а можно сделать по-простому, через TRegistry.
Копай в направлении HKEY_CURRENT_USER -> Software\Microsoft\Windows\CurrentVersion\Explorer \Shell Folders. Если не осилишь, могу написать код.

Frosty
17.11.2006, 14:37
Frosty,
можно извратиться по-правильному, а можно сделать по-простому, через TRegistry.
Копай в направлении HKEY_CURRENT_USER -> Software\Microsoft\Windows\CurrentVersion\Explorer \Shell Folders. Если не осилишь, могу написать код.
Поковырял, но там есть только аппдата для олл юзерс :( для конкрентых пользователей нету :(

MDM
17.11.2006, 14:45
Frosty,
HKEY_CURRENT_USER, а не HKEY_LOCAL_MACHINE.

Frosty
17.11.2006, 14:59
Frosty,
HKEY_CURRENT_USER, а не HKEY_LOCAL_MACHINE.Все понял, теперь остался 1 вопрос: как лучше сделать?
1)Предложить юзеру указать папку с профилем... как то тривиально.
2)...или как нибудь просканировать папку %appdata%\Mozilla\Firefox\Profiles на наличие папок и по результатам поиска составить список профилей, чтобы можно было потом из этого списка выбрать нужный профиль и экспортировать куда надо(короче говоря как сделано в MozBackup)... но это мне точно не осилить.

MDM
17.11.2006, 15:16
Если честно, лень копать, но наверняка профили идентифицируются не по названиям папок. :) Где-то должны лежать данные о профилях. Покопай wiki на mozilla.ru, там много интересного.

VictorS
17.11.2006, 15:21
А по этому поводу можно чуть-чуть почитать FAQ по Firefox (http://forum.battlefox.ru/showthread.php?p=41442#post41442). ;) (Там ссылка на статью про перенос профиля (http://forum.mozilla-russia.org/doku.php?id=firefox:faqs:profile_restore).)

Frosty
17.11.2006, 15:45
(Там ссылка на статью про перенос профиля (http://forum.mozilla-russia.org/doku.php?id=firefox:faqs:profile_restore).)И по чему я раньше страницу не обновил?:D Нашел сам эту же страницу, так, теперь примерно ясно как мне выскребсти информацию о профилях... приблизительно ясно :)
Кто нибудь может помочь оформить мысли в код? :)

MDM
17.11.2006, 15:56
Пива, что ли, купить? Ты сначала мысли оформи. :)

Frosty
17.11.2006, 16:02
Пива, что ли, купить? Ты сначала мысли оформи. :)Про пиво не понял, 4 раза перечитал, ни смысла ни юмора, нада завязывать учиться:D А про мысли.. что расписать тут что да как должна делать прога?:huh:

MDM
17.11.2006, 16:09
что расписать тут что да как должна делать прога?
Да, в общих чертах, но подробно. :)
Правда, если мы всей толпой напишем тебе прогу, зачем ты вообще решил заморачиваться. ;)

P.S. После N-ного количества пива код не приходится писать. Он сам откуда-то появляется... Ик...

Frosty
17.11.2006, 16:11
Правда, если мы всей толпой напишем тебе прогу, зачем ты вообще решил заморачиваться. ;)

P.S. После N-ного количества пива код не приходится писать. Он сам откуда-то появляется... Ик...Прога от этого станет хуже?:huh:
П.С.:lol:

Начну о проге :)
1 Форма: всякая лабуда типо что это за программа и тд, там кнопочки далее и выход

2 Форма:Переход на нее с кнопки далее первой формы :)
При переходе сканируется ключ HKEY_CURRENT_USER -> Software\Microsoft\Windows\CurrentVersion\Explorer \Shell Folders\AppData
После этого сканируется файл [найденый в реестре каталог]\Mozilla\Firefox\profiles.ini
Составляется список пользователей в котором к каждому имени пользователя прибиты "ссылка"(хз как назвать) на [найденый в реестре каталог]\Mozilla\Firefox\[каталог, указанный в profiles.ini для каждого пользователя]( то есть на сам каталог с профилем)
В форме есть кнопки далее и выход :)
При выборе профиля из списка и нажатии кнопки далее переход на 3 форму

3 Форма: На ней 3 кнопки далее, выход и указать(подумать нада как назвать) и 2 круглых чекбокса: импорт и экспорт
При нажатии кнопки указать всплывает диалог с выбором папки( папка, в которой хранится профиль FireFox Portable)
После выбора папки и отметки чекбокса "экспорт" копируются все файлы из выбранного в списке профиля(вот про ту ссылку я и говорил) в папку, которую юзер указал, как профиль портабл... если быв выбран "импорт" то наоборот из портабл в выбраный профиль.

The End.

Frosty
17.11.2006, 19:47
Нужны логотипы лисы примерно 100х100 желательно на чистом фоне, т.к. особых навыков редактирования за собой не замечал :)

MDM
17.11.2006, 20:01
При переходе сканируется ключ
Некорректно. Пути выясняй при запуске программы.
И profiles.ini обработай тоже при запуске и забей данные в массив.

4184

P.S. "Круглый чекбокс" - это RadioButton. :)

Frosty
17.11.2006, 21:02
Некорректно. Пути выясняй при запуске программы.
И profiles.ini обработай тоже при запуске и забей данные в массив.
P.S. "Круглый чекбокс" - это RadioButton. :)
Один добрый человек накодил, теперь вот пытаюсь вид цивильный придать:D

Добавлено через 55 минут
Кто хочет посмеяться вот (http://home.onego.ru/~frosty/Files/Firefox/Tools/FS_FireFox_Profile_Porter_v.exe) пожалуйста :)

При разработке использовались: Bordland Delphi, Microsoft Paint :lol:

MDM
17.11.2006, 21:05
Frosty,
компилируй с пакетами. Иначе, всем придется ставить D7, чтобы посмотреть твою прогу.

Frosty
17.11.2006, 21:06
Frosty,
компилируй с пакетами. Иначе, всем придется ставить D7, чтобы посмотреть твою прогу.А это где найти в дельфине?:D

MDM
17.11.2006, 21:12
В свойствах проекта, вроде. Галочка там внизу. "Build with run-time packages".
Вобщем, на выходе должен получиться не 50 КБ exe-шник, а 350-400 и больше.

Frosty
18.11.2006, 16:38
Так (http://home.onego.ru/~frosty/Files/Firefox/Tools/FS_FireFox_Profile_Porter_v.exe) нормально?

MDM
18.11.2006, 18:00
Если работает, то нормально. :)
1. Только почему первый GroupBox неактивен? И для ввода пути надо использовать TEdit, чтобы не только кнопкой, но и ручками можно было путь вводить.

2. Если не выбран профиль, кнопочка "Копировать профиль" должна быть неактивна.

3. И почему под картинкой фон желтый? Вобщем, интерфейс надо поправить. :)

Frosty
18.11.2006, 18:08
Если работает, то нормально. :)
1. Только почему первый GroupBox неактивен? И для ввода пути надо использовать TEdit, чтобы не только кнопкой, но и ручками можно было путь вводить.

2. Если не выбран профиль, кнопочка "Копировать профиль" должна быть неактивна.

3. И почему под картинкой фон желтый? Вобщем, интерфейс надо поправить. :)
1. Хз не я кодил :) Да и за чем ручками то?
2. Если нажать копировать профиль внизу появится предупреждение ;)
3. блин мне это сказал каждый, кто посмотрел :lol: Чем вам желтый фон не нравица?:huh:

MDM
18.11.2006, 18:12
1. Хз не я кодил :) Да и за чем ручками то?
2. Если нажать копировать профиль внизу появится предупреждение ;)
3. блин мне это сказал каждый, кто посмотрел :lol: Чем вам желтый фон не нравица?:huh:
На все три пункта: некорректно. :) На третий - еще и некрасиво.

Frosty
18.11.2006, 18:28
А так лучше? (http://home.onego.ru/~frosty/Files/Firefox/Tools/FS_FireFox_Profile_Porter_v.exe)

MDM
18.11.2006, 18:55
Убери и больше никому не показывай. :D

Frosty
18.11.2006, 18:57
Убери и больше никому не показывай. :DЧ-ч-что:huh: :unsure: :cry:

Frosty
29.11.2006, 15:20
Как сделать чтобы дельфин не жаловался на смешивание стринга и интеджера?
StartProg(Edit1.text +menu 1 +fullscreen 1 +joinServer Edit1.text +playerName Edit1.text);

Volfram
29.11.2006, 17:47
Как сделать чтобы дельфин не жаловался на смешивание стринга и интеджера?
StartProg(Edit1.text +menu 1 +fullscreen 1 +joinServer Edit1.text +playerName Edit1.text);

StartProg(Edit1.text+' +menu 1 +fullscreen 1 +joinServer '+Edit2.text+' +playerName '+Edit3.text);