1 / 1 / 2
Регистрация: 09.11.2009
Сообщений: 44
|
||||||
1 | ||||||
TOpenDialog и запись в файл09.11.2009, 17:47. Показов 4238. Ответов 22
Метки нет (Все метки)
доброго времени суток
столкнулся вот с такой проблемой - на форме есть много едитов, радио и чеков и один TOpenDialog. Их значения дописываются в файл. Путь к файлу хранится в переменной path, берущей значение из поля предыдущей формы.
Как это? и как это может быть связано?
0
|
09.11.2009, 17:47 | |
Ответы с готовыми решениями:
22
TOpenDialog TOpenDialog TOpenDialog и TSaveDialog Работа с TOpenDialog |
1 / 1 / 2
Регистрация: 09.11.2009
Сообщений: 44
|
|
09.11.2009, 19:44 [ТС] | 3 |
заносил естественно с \\
суть не в этом. Если не использовать TOpenDialog (в смысле не вызывать его), то файл отлично открывается и записывается. При использовании TOpenDialog ругается что его нет - хотя он реально есть (даже если пару раз без него заносить норм - как только его используешь - ругань)
0
|
говнокодер
1273 / 297 / 35
Регистрация: 31.10.2009
Сообщений: 1,432
|
|||||||||||
09.11.2009, 20:34 | 4 | ||||||||||
честно сказать никогда не было проблем с OpenDialog...не знаю чем вам помочь на основании того что имеется... у вас в приведенном кодеOpenDialog вообще нигде не светится, я так понимаю вы присваиваете
вот код (*cpp файл):
0
|
1 / 1 / 2
Регистрация: 09.11.2009
Сообщений: 44
|
|
09.11.2009, 21:56 [ТС] | 5 |
у меня тоже не было проблем) правда на билдере не программировал несколько лет
чуть позже выложу проект (он небольшой)
0
|
1 / 1 / 2
Регистрация: 09.11.2009
Сообщений: 44
|
|
09.11.2009, 22:10 [ТС] | 6 |
вот проектик. краткое описание:
при заполнении первой формы - создастся папка tests с подпапкой "название теста", название которого вводится в поле. а в этой папке файл test.txt сам путь вводится в tedit pathfile, из которой он берется в след.формах далее вторая форма AskForm, где собственно и происходят чудеса: заполняются поля и по необходимости выбирается файл (тот самый TOpenDialog). Дозапись значений в файл производится по нажатии "Добавить вопрос". при нажатии на "завершить" - также осуществляется дозапись и вызывается закл.форма (но это не суть). проблема собственно с дозаписью во второй форме да, если это имеет значение - Builder 2009
0
|
говнокодер
1273 / 297 / 35
Регистрация: 31.10.2009
Сообщений: 1,432
|
|||||||||||
10.11.2009, 12:54 | 7 | ||||||||||
Увы у меня нет 2009 builder'a
Не по теме: (хех гдеб намутить=) стоит того?))) .. но так просмотрел код... блин кое че непонятно (если не проглядел где-либо): Вот в форме Ask.cpp OpenDialog встречается тока в одном месте (как вроде и во всем проекте):
з.ы.: проверить не могу т.к. билдера 2009го нету, а на 6 переводить пока нету времени (мб попозже займусь)
0
|
1 / 1 / 2
Регистрация: 09.11.2009
Сообщений: 44
|
|
10.11.2009, 14:05 [ТС] | 8 |
да. именно tmp никуда не пишется. даже если просто выполнить OpenFileq->Execute() без присваиваний - тоже не будет работать))
по поводу ЗЫ
0
|
Почетный модератор
8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
10.11.2009, 14:14 | 9 |
xmisserx, проблема в вашем коде такова, а что будет если окно не вызовут? лучше и вправду вызывать диалог перед сохранением... ну и конечно же придется трассировать, что же у вас попадает в параметры функции, так что-то определенное сказать сложно...
0
|
225 / 54 / 0
Регистрация: 29.09.2008
Сообщений: 52
|
|
10.11.2009, 14:28 | 10 |
у меня проблема, после открытия файла
Код
OpenDialog1->InitialDir=ExtractFilePath(Application->ExeName); if (OpenDialog1->Execute()) { Memo_Temp->Clear(); Memo_Temp->Lines->LoadFromFile(OpenDialog1->FileName); } а после у меня идет чтения и сохранения данных в файле который лежит в каталоге где находится экзешник Код
Memo1->Lines->LoadFromFile("Log.dat"); Memo1->Lines->Add("запись даних"); Memo1->Lines->SaveToFile("Log.dat")
0
|
говнокодер
1273 / 297 / 35
Регистрация: 31.10.2009
Сообщений: 1,432
|
|
10.11.2009, 14:41 | 11 |
OMG...
Не по теме: ох)) не мой стиль программирования... попытался скомпилировать ваш проект у себя)))... тяжеловато в чужом коде разбираться))))) странно у меня tmp=OpenFileq->FileName нормально работает ниже прикладываю скрин бейкпоинта тому в подтверждение... блин.. ИМО вам надо или сделать tmp глобальной и там как нибудь это использовать в saver'е или сохранить значение tmp в файл (например во временный) и загружать оттуда... з.ы.: Не по теме:
скрин:
0
|
225 / 54 / 0
Регистрация: 29.09.2008
Сообщений: 52
|
|
10.11.2009, 15:05 | 12 |
нет, OpenDialog работает, но после того как я открываю файл через OpenDialog не виконуеться команда открытия файла в мемо (потому что я обращаюсь к папке где лежит экзешник) но после открытия файла через OpenDialog путь остается не к папке где лежит экзешник а а тот где ми открыли файл, и потому уже выходит что чтения файла в мемо идет не с папки где лежит екзешник а с папки где ми открыли файл через OpenDialog, вот в чем проблема
Подскажите как ее решить. Добавлено через 1 минуту то что ми открываем через OpenDialog не связано с етим Код
Memo1->Lines->LoadFromFile("Log.dat"); Memo1->Lines->Add("запись даних"); Memo1->Lines->SaveToFile("Log.dat")
0
|
говнокодер
1273 / 297 / 35
Регистрация: 31.10.2009
Сообщений: 1,432
|
||||||
10.11.2009, 15:25 | 13 | |||||
2 Lebron182
(понял вы о другом) дак мб вам стоит просто сделать так:
1
|
1 / 1 / 2
Регистрация: 09.11.2009
Сообщений: 44
|
|
10.11.2009, 15:27 [ТС] | 14 |
какой окно? TOpenDialog? если его не вызывать - все отлично работает - все сохраняется.
при отладке - в path - путь верный, но если вызвать TOpenDialog, то f=NULL, при этом путь правильный, файл существует.... если не вызывать - все работает....
0
|
225 / 54 / 0
Регистрация: 29.09.2008
Сообщений: 52
|
|
10.11.2009, 15:37 | 15 |
0
|
Почетный модератор
8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
10.11.2009, 15:51 | 16 |
xmisserx, я про StartForm говорил...
0
|
говнокодер
1273 / 297 / 35
Регистрация: 31.10.2009
Сообщений: 1,432
|
||||||||||||||||
10.11.2009, 16:23 | 17 | |||||||||||||||
всеееее... вкурил в чем проблема (таки скомпилировал.. да интересно) но походу у вас с Lebron182 одна и та же ошибка ..я поэкспериментировал немного... вот кидаю Ask "модифицированый" в общем тут вроде все робит (правда вам еще придется немного под себя подогнать но суть косяка кажись исправлена) обратите внимание када мы жмыхаем на "Добавиить" или на "Закончить" путь он выдает tests\четотам\четотам... это неверно... путь неполный
я добавил новую глобальную (h-файл) для Аск переменную tmp2 она равна пути ну и примерно такой !эксперементальный! код:
//---------------------=)--------- ...
//---------------------=)--------- ...
0
|
1 / 1 / 2
Регистрация: 09.11.2009
Сообщений: 44
|
|
10.11.2009, 16:23 [ТС] | 18 |
Lord_Voodoo, StartForm - она изначально запускается - как ее можно не вызвать?) если конечно правильно Вас понял
sh4d°_°ff, наверно не так поняли... TOpenDialog выполняется - с его вызовом как раз проблем не возникает. Но при его вызове как будто "пропадает" файл test.txt, когда выполняется сама запись в файл
0
|
1 / 1 / 2
Регистрация: 09.11.2009
Сообщений: 44
|
|
10.11.2009, 16:26 [ТС] | 20 |
sh4d°_°ff, проект на второй машине - чуть позже попробую. надеюсь что это верно
зы - сейчас ссылку запм-ю
0
|
10.11.2009, 16:26 | |
10.11.2009, 16:26 | |
Помогаю со студенческими работами здесь
20
Зависания TOpenDialog TOpenDialog и CopyFile TOpenDialog и Проводник Компонент TOpenDialog Не работает OnShow в TOpenDialog TOpenDialog и Проводник отображение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|