Файл на форме
Вопрос в следующем: можно ли каким-нито способом сохранить на форме файл (например *.txt), так чтобы потом можно было перенести на другую машину программу, нажал, к примеру, на кнопку, и файл распаковался на машину. Т.е. сделать
что-нибудь вроде хранилища для файла, в котором он будет перемещаться вместе
с exe файлом.
З.Ы. варианты переноса exe и отдельно txt-файла не предлагать :P
Привет всем.
Вопрос в следующем: можно ли каким-нито способом сохранить на форме файл (например *.txt), так чтобы потом можно было перенести на другую машину программу, нажал, к примеру, на кнопку, и файл распаковался на машину. Т.е. сделать
что-нибудь вроде хранилища для файла, в котором он будет перемещаться вместе
с exe файлом.
З.Ы. варианты переноса exe и отдельно txt-файла не предлагать :P
Для любителей делать все через пятую точку - простейший вариант - использование Memo->Lines->SaveToFile или TStringList (что в принципе одно и тоже).
Создать функцию генерирующюю текстовый файл в случае отсутствия.
Но если делать по уму - имет смысл создать инсталяшку - в простейшем случее через тот же rar.
Для любителей делать все через пятую точку - простейший вариант - использование Memo->Lines->SaveToFile или TStringList (что в принципе одно и тоже).
Создать функцию генерирующюю текстовый файл в случае отсутствия.
Но если делать по уму - имет смысл создать инсталяшку - в простейшем случее через тот же rar.
А если это не текстовый файл, а, к примеру, другое приложение? Не пойдёт... Переносить файл в zip или rar архиве - это-то и так понятно, я думал, есть способы, позволяющие "прикрепить" файл к форме, чтобы переносимым был только exe, а сам файл был вроде как спрятан внутри... X)-
Переносить файл в zip или rar архиве - это-то и так понятно, я думал, есть способы, позволяющие "прикрепить" файл к форме, чтобы переносимым был только exe, а сам файл был вроде как спрятан внутри... X)-
Можно написать свой компонент, позволяющий сохранять произвольные даннные в DFM формы, а можно просто залинковать файл как ресурс RC_DATA. Правда, изменять эти данные ты не сможешь. Только на этапе дизайна/компиляции.
Можно написать свой компонент, позволяющий сохранять произвольные даннные в DFM формы, а можно просто залинковать файл как ресурс RC_DATA. Правда, изменять эти данные ты не сможешь. Только на этапе дизайна/компиляции.
Можно. Но долго =)
Я вот решил проблему переноса файла (в частности для моей ситуации - *.xls книга) самым нахальным образом использовав OleContainer. На этапе проектирования запихиваем в него нужный файл, делаем Container невидимым, а потом при нажатии на кнопку методом SaveAsDocument сохраняем по нужному адресу. Как я понимаю, exe тащит его в
себе... Варварски, но работает. =)
Можно. Но долго =)
Я вот решил проблему переноса файла (в частности для моей ситуации - *.xls книга) самым нахальным образом использовав OleContainer. На этапе проектирования запихиваем в него нужный файл, делаем Container невидимым, а потом при нажатии на кнопку методом SaveAsDocument сохраняем по нужному адресу. Как я понимаю, exe тащит его в
себе... Варварски, но работает. =)
Можно и по другому - тоже варварски, но обойтись можно стандартными функциями для рабты с файлами.
Копируем .exe, добавляем в конец копии свой файл, выравниваем нулями до нужного значения (килобайтной границы например), запускаем копию которая удаляет оригинал. Всё! А главное - файл точно будет в .ехе т.к. вы сами его туда пишете. :)
Привет всем.
Вопрос в следующем: можно ли каким-нито способом сохранить на форме файл (например *.txt), так чтобы потом можно было перенести на другую машину программу, нажал, к примеру, на кнопку, и файл распаковался на машину. Т.е. сделать
что-нибудь вроде хранилища для файла, в котором он будет перемещаться вместе
с exe файлом.
З.Ы. варианты переноса exe и отдельно txt-файла не предлагать :P
Можно спросить зачем такой гемор?
Можно спросить зачем такой гемор?
некоторые особенно продвинутые пользователи даже после некоторых предупреждений продолжают самостоятельно править или вообще тереть различные конфиговские файлы, шаблоны и проч., после чего у них возникают претензии, почему программа работает некорректно. Для таких вот в программу вшиваю минимум файлов, необходимых для работы, чтобы не таскать их каждый раз с собой. X)-
если угодно - считай это проявлением лени. Но программа при этом практически автономна, чего и добивались...
некоторые особенно продвинутые пользователи даже после некоторых предупреждений продолжают самостоятельно править или вообще тереть различные конфиговские файлы, шаблоны и проч., после чего у них возникают претензии, почему программа работает некорректно. Для таких вот в программу вшиваю минимум файлов, необходимых для работы, чтобы не таскать их каждый раз с собой. X)-
если угодно - считай это проявлением лени. Но программа при этом практически автономна, чего и добивались...
Может попробовать реестр?
Может попробовать реестр?
в плане? хранить инфу там в ключах?
в плане? хранить инфу там в ключах?
Бинго! Почему бы нет, даже весьма продвинутый пользователь вряд-ли отслеживает изменения реестра . Да и лазить в нем - сомнительное удовольствие.
Бинго! Почему бы нет, даже весьма продвинутый пользователь вряд-ли отслеживает изменения реестра . Да и лазить в нем - сомнительное удовольствие.
Если ты заметил, я упоминал про шаблоны. В данном случае это xls книги. Если ты расскажешь, как можно запихать их в реестр - милости прошу. ;)
Если ты заметил, я упоминал про шаблоны. В данном случае это xls книги. Если ты расскажешь, как можно запихать их в реестр - милости прошу. ;)
Как мне кажется, это совсем даже не суть. При желании - можно и запихать, только это очень извратиться нужно. Главное в другом - на другую машину тогда придется тащить один, или даже несколько кустов реестра, если следовать начальной постановке вопроса :)
Если ты заметил, я упоминал про шаблоны. В данном случае это xls книги. Если ты расскажешь, как можно запихать их в реестр - милости прошу. ;)
Да уж, есть кулибины - всем кулибинам кулибины. Решить задачу впихнув файл экселя в исполнимый файл - воистину - какой поп такой и приход - не удивительно что пользователи такие.
Да уж, есть кулибины - всем кулибинам кулибины. Решить задачу впихнув файл экселя в исполнимый файл - воистину - какой поп такой и приход - не удивительно что пользователи такие.
программисты делятся на ленивых и очень ленивых. Я из последней категории. Лень каждый раз таскать их с собой, лучше научить пользователей восстанавливать их из программы.
А что касаемо пользователей - поработай с геологами - и не такое увидишь :P
программисты делятся на ленивых и очень ленивых. Я из последней категории. Лень каждый раз таскать их с собой, лучше научить пользователей восстанавливать их из программы.
А что касаемо пользователей - поработай с геологами - и не такое увидишь :P
Не-е-е ты просто ленивый, мне бы просто было бы влом с таким геммором возится...:) Ну на счет геологов не знаю - не работал...