1 / 1 / 1
Регистрация: 21.10.2009
Сообщений: 44
|
|||||||||||
1 | |||||||||||
Сохранение\Открытие файла12.12.2010, 01:46. Показов 3231. Ответов 25
Метки нет (Все метки)
Нужно организовать сохранение в файл, например через SaveFileDialog. Проект организован так что в файл **.hpp описаны переменные, например
Не могли бы вы помочь? Куда и что добавить?
0
|
12.12.2010, 01:46 | |
Ответы с готовыми решениями:
25
Открытие документа .ppt, внесение в него информации, сохранение Открытие файла. Открытие файла в mfc Открытие .exe файла |
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
||||||
12.12.2010, 11:32 | 2 | |||||
1)перегрузить обработчики
Bool onButSave (void); Bool onButLoad (void); 2)изменить в ресурсах коды событий, назначенные кнопкам SAVE и LOAD и сделать на эти новые коды новые обработчики Хотя, может я неверно понял проблему. открытие через OFD:
0
|
1 / 1 / 1
Регистрация: 21.10.2009
Сообщений: 44
|
|||||||||||
12.12.2010, 13:05 [ТС] | 3 | ||||||||||
То есть в onbutsave просто вставить этот код?
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
12.12.2010, 13:25 | 4 |
али, проект не MFC?
а класс DlgOnCanvas(предок DlgGenerator) откуда тогда взят? лучше покажи весь исходник, а то может еще что напутано.
0
|
1 / 1 / 1
Регистрация: 21.10.2009
Сообщений: 44
|
|||||||||||
12.12.2010, 13:36 [ТС] | 5 | ||||||||||
DlgGenerator'a ?
dlggenerator.hpp
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
12.12.2010, 13:42 | 6 |
Ясно.
Ты, дорогой, в C++ Builder пишешь. А раздел называется - "Visual C++". Разницу чувствуешь? Не грусти, попробую тему перебросить в тот раздел. А, уже не получится. Давно меня небыло, из модераторов выгнали. Пометку оставлю, если кто увидит - перебросят.
0
|
1 / 1 / 1
Регистрация: 21.10.2009
Сообщений: 44
|
|
12.12.2010, 13:44 [ТС] | 7 |
М... В Microsoft Visual Studio 2008 пишу.
Спасибо.
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
12.12.2010, 13:50 | 8 |
Да???
а написано в твоем исходнике "// Copyright (c) 1992-2006 BugFree Software bvba. All rights reserved." у Microsoft Visual Studio Copyright вообще-то "Microsoft".
0
|
1 / 1 / 1
Регистрация: 21.10.2009
Сообщений: 44
|
|
12.12.2010, 14:13 [ТС] | 9 |
При чем тут 1 к другому? это закомментированная строка, а BugFree Software bvbaи т.д. это название компании для которой написана данная программа.
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
12.12.2010, 14:33 | 10 |
ну... чего-то я в жизни не понимаю.
у меня Студия в исходниках в шапке пишет 1)// Microsoft Developer Studio generated include file. 2)//...бла-бла-бла... Microsoft Foundation Classes ... Copyright Microsoft Corporation 1994-... она это САМА пишет. всегда.
0
|
1 / 1 / 1
Регистрация: 21.10.2009
Сообщений: 44
|
|
12.12.2010, 14:42 [ТС] | 11 |
Ну не знаю, у меня не пишет. Ну а то что Visual Studio 2008 я уверен, тут ошибиться сложно)
Но кажется мы не в ту степь, если идеи почему он не хочется объявлять CString?
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
12.12.2010, 14:54 | 12 |
так не MFC проект.
очевидно-же. можно сделать и на чистом WinAPI но таких тем на этом форуме уже вагон и маленькая тележка. вот, например: Visual Studio 2008, WinAPI - Openfile Не по теме: извини, я увлекся выяснением, на чем ты там пишешь. :pardon: интересно-же!
0
|
1 / 1 / 1
Регистрация: 21.10.2009
Сообщений: 44
|
||||||||||||||||
12.12.2010, 17:36 [ТС] | 13 | |||||||||||||||
Дописываю
#include <commdlg.h> В итоге
Bool DlgGenerator::onButLoad (void) { OPENFILENAME ofn; // common dialog box structure char szFile[260]; // buffer for file name HWND hwnd; // owner window HANDLE hf; // file handle ZeroMemory(&ofn, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = hwnd; ofn.lpstrFile = szFile; ofn.lpstrFile[0] = '\0'; ofn.nMaxFile = sizeof(szFile); ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0"; ofn.nFilterIndex = 1; ofn.lpstrFileTitle = NULL; ofn.nMaxFileTitle = 0; ofn.lpstrInitialDir = NULL; ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; if (GetOpenFileName(&ofn)==TRUE) hf = CreateFile(ofn.lpstrFile, GENERIC_READ, 0, (LPSECURITY_ATTRIBUTES) NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) NULL); return TRUE; } // DlgGenerator::onButLoad Ничего не происходит по нажатию Добавлено через 9 минут Аналогично ноль реакции на
И на
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
12.12.2010, 18:08 | 14 |
поясни.
диалог не открывается? попробуй сделать отладку на начало функции DlgGenerator::onButLoad скорее всего, управление туда не попадает.
0
|
1 / 1 / 1
Регистрация: 21.10.2009
Сообщений: 44
|
|
12.12.2010, 18:18 [ТС] | 15 |
Да, окно не появляется.
Сама функция запускается, то есть если я пишу что-то типа Bool DlgGenerator::onButLoad (void) { String perr = workset.getText(FLD_CONTRACT_MEMOGEN); workset.setText(FLD_CONTRACT_MEMOGEN, perr+" {{OPNAME}} "); setFields(); return TRUE; } // DlgGenerator::onButLoad То работает, то есть функция запускается
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
||||||
12.12.2010, 18:35 | 16 | |||||
ок. смотрим, что там написано в подробностях...
посмотри на этот фрагмент.
т.е., в каком окне должен возникнуть диалог - фиг его знает. лучше уж обнули его. кстати, буфер szFile тоже не инициализирован. ты хоть первый байт буфера обнули, а то получишь непредсказуемые последствия. в фильтре данные разделяются вертикальными палочками(символ "|"), а не нулями(символ "/0")
0
|
1 / 1 / 1
Регистрация: 21.10.2009
Сообщений: 44
|
||||||
12.12.2010, 22:57 [ТС] | 17 | |||||
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
||||||
13.12.2010, 07:38 | 18 | |||||
0
|
1 / 1 / 1
Регистрация: 21.10.2009
Сообщений: 44
|
|
13.12.2010, 23:45 [ТС] | 19 |
Огромное количество ошибок при компиляции в вашем варианте... Неужели нет просто способа создать поток считывания данных из файла? Мне нужно всё что есть в текстовом файле внести в одну переменную типа String
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
14.12.2010, 00:47 | 20 |
1)и какие там могут быть ошибки? примитивный код.
2)"поток"? ты что, в консоли пишешь??
0
|
14.12.2010, 00:47 | |
14.12.2010, 00:47 | |
Помогаю со студенческими работами здесь
20
Открытие/Закрытие/Обработка файла Открытие бинарного файла MFC Открытие файла по заданному пути, где запущена программа Открытие файла .jpg в бинарном режиме Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Что такое хорошо и что такое плохо, вид сбоку. Индивид и общество - грань не нарушения.
Hrethgir 18.01.2025
В моей личной жизни и времени, я рассуждаю категорией "хуже-лучше", в том плане, когда меня спросили например - "а зачем ты делаешь свой процессор?", то я ответил - "чтобы сделать свою жизнь лучше". . .
|
Передача по ссылке или по значению в Java?
InfoMaster 18.01.2025
В мире программирования на Java одним из ключевых аспектов, требующих глубокого понимания, является механизм передачи параметров в методы. Этот фундаментальный концепт часто становится источником. . .
|
Тернарный условный оператор в Python
InfoMaster 18.01.2025
В мире программирования существует множество инструментов и конструкций, позволяющих создавать эффективный и лаконичный код. Одним из таких инструментов является тернарный условный оператор, который. . .
|
Как удалить неотслеживаемые файлы из рабочего дерева Git
InfoMaster 18.01.2025
В процессе разработки программного обеспечения с использованием системы контроля версий Git часто возникает необходимость в управлении неотслеживаемыми файлами. Неотслеживаемые файлы (untracked. . .
|
Что делает код if __name__ == "__main__": в Python
InfoMaster 18.01.2025
В мире программирования на Python существует множество важных концепций, и одной из наиболее интересных является конструкция if __name__ == "__main__". Эта специальная конструкция играет ключевую. . .
|
Как заставить Git забыть об отслеживаемом файле, добавленном в .gitignore
InfoMaster 18.01.2025
В мире разработки программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, позволяя эффективно отслеживать изменения в коде и управлять ими. Однако. . .
|
Что означает use strict в JavaScript и для чего используется
InfoMaster 18.01.2025
В мире современной веб-разработки JavaScript играет ключевую роль как один из основных языков программирования. По мере его эволюции возникла необходимость в механизмах, которые помогли бы. . .
|
Как работать со скрытыми (hidden) элементами в jQuery
InfoMaster 18.01.2025
В современной веб-разработке управление видимостью элементов на странице является одним из ключевых аспектов создания интерактивных пользовательских интерфейсов. jQuery предоставляет мощный набор. . .
|
Как переключаться между ветками (Branch) с помощью checkout в Git
InfoMaster 18.01.2025
Ветки в Git являются одной из ключевых концепций для управления версионностью кода, позволяя разработчикам эффективно работать в команде и параллельно развивать программные проекты. Каждый новый. . .
|
Что такое стек и куча, чем они отличаются и где находятся
InfoMaster 18.01.2025
Понимание основных концепций памяти в программировании
В мире современного программирования эффективное управление памятью играет ключевую роль в создании производительных и надежных приложений. . . .
|
Как использовать комментарии в JSON
InfoMaster 18.01.2025
JSON (JavaScript Object Notation) представляет собой легкий и широко используемый формат обмена данными, который стал стандартом де-факто для веб-приложений и программных интерфейсов. При работе с. . .
|
Как заставить git pull перезаписать локальные файлы в Git
InfoMaster 18.01.2025
Проблема перезаписи локальных файлов в Git
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо синхронизировать локальный репозиторий с. . .
|