Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / хранение данных вне программы / 13 сообщений из 13, страница 1 из 1
30.08.2012, 10:31
    #37936649
Qlewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
улучшаю решалку задач по физике. куча разных формул, величин, измерений, исключений при событии Form_load вписываются программно в ячейки мсфлексгрида. но тогда эти данные нельзя отредактировать, только на уровне создания в проге. уже давно хочу вынести все данные в отдельный текстовый файл или таблицу или .xml файлы, только не знаю, как это грамотно делается. отделять данные пробелами? или есть спец таблицы для этого? можете привести пример хранения и считывания данных в прогу извне?
...
Рейтинг: 0 / 0
30.08.2012, 11:44
    #37936793
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
Qlewer,
Немного предыистории:
Я как то хотел сделать решалку тоже для себя, но накрутил такое ТЗ что впадлу стало... А простейшую никому не нужную ПО-шку делать не хотелось, так как альтернативы есть.

Вообще нужно решить на сколько детально будет храниться информация. Например, константы можно хранить в виде XML
Код: xml
1.
2.
3.
<constants>
  <const name="g" ValueCalc = "9.8" ValueAcc = "9.822" formula="=G*(M/R^2)" />
</constants>


Но опять же, константа может быть расчитана для более точного значения, или же использоваться вычисленное заранее число. Та же контанта g - вычисляется и в разных географических точках будет разной. Мы допустим можем вычислить её по формуле.. Но нужно тогда ещё не просто описать её строкой, а указать что некое "буквенное" значение связанное с конкретным "типом", т.е. R - это радиус тела, а не константа некоторая.
Если формула вычисляется сама, то как я хотел чтобы имея некоторые параметры, система автоматически пробовала "найти" формулу - и вычислить результат.

-- Вывод если многобукв мозолят:
Сначала скажи на сколько решалка продвинутая, что можно будет задавать, как будет вычислять. Если это будет банальнейшая формочка с двумя текстбоксами... и чтобы найти F=mg - достаточно поставить массу, а константа возмётся сама одним числом - то такое можно хранить и в обычных тхтшках. Разделитель - не проблема придумать.
...
Рейтинг: 0 / 0
30.08.2012, 12:17
    #37936885
Qlewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
VSVLADчтобы найти F=mg - достаточно поставить массу, а константа возмётся сама одним числом - то такое можно хранить и в обычных тхтшках программа довольно продвинутая, но принцип работы да, такой. на данный момент имеется флекс грид с полями примерно 15х100 большинство из которых нужно заполнить при запуске проги. с .xml работать не умею, в качестве разделителя в .txt пойдёт пробел или другой любой знак. а как считать правильно данные? напишешь пример заполнения таблицы(мсфлексгрида) 2х2 данными из .txt или .xml? VSVLADЕсли формула вычисляется сама, то как я хотел чтобы имея некоторые параметры, система автоматически пробовала "найти" формулу - и вычислить результат. формула вычисляется сама, но на основе сотен других, более простых формул. и решается всё само, и выводится на экран полное решение.
...
Рейтинг: 0 / 0
30.08.2012, 12:27
    #37936911
TpaBka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
Access
...
Рейтинг: 0 / 0
30.08.2012, 14:37
    #37937164
QValD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
QlewerVSVLADчтобы найти F=mg - достаточно поставить массу, а константа возмётся сама одним числом - то такое можно хранить и в обычных тхтшках программа довольно продвинутая, но принцип работы да, такой. на данный момент имеется флекс грид с полями примерно 15х100 большинство из которых нужно заполнить при запуске проги. с .xml работать не умею, в качестве разделителя в .txt пойдёт пробел или другой любой знак. а как считать правильно данные? напишешь пример заполнения таблицы(мсфлексгрида) 2х2 данными из .txt или .xml? VSVLADЕсли формула вычисляется сама, то как я хотел чтобы имея некоторые параметры, система автоматически пробовала "найти" формулу - и вычислить результат. формула вычисляется сама, но на основе сотен других, более простых формул. и решается всё само, и выводится на экран полное решение.
Определяешь заранее вид XML-ки, подключаешь библиотеку MSXML, возишься с ней пол дня, понимаешь объектную модель (domdocument, node, node.add, .selectsinglenode и т.д.), оборачиваешь в класс все эти использования констант и юзешь на здоровье.
...
Рейтинг: 0 / 0
30.08.2012, 14:53
    #37937214
Qlewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
QValD,

как-то угрожающе звучит. напишешь примерчик с .txt заполнение грида 2х2? в качестве разделителя пробел. плз
...
Рейтинг: 0 / 0
30.08.2012, 15:17
    #37937268
QValD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
QlewerQValD,

как-то угрожающе звучит. напишешь примерчик с .txt заполнение грида 2х2? в качестве разделителя пробел. плз
Я тебе вообще-то про xml говорил, но раз уж хочешь именно txt, то что-то вроде этого
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
F = FreeFile
Open sFileName For Input As #F
    Do While Not EOF(F)
        Line Input #F, sLineFromFile
        massiv = Split(sLineFromFile, " ")  'погугли , что делает функция split, если не знаешь
        AddLineToGrid(massiv)    ' как добавить строку в грид, думаю, сам сообразишь
    Loop
 
Close #F
...
Рейтинг: 0 / 0
31.08.2012, 02:48
    #37938067
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
Qlewerуже давно хочу вынести все данные в отдельный текстовый файл или таблицу или .xml файлы, только не знаю, как это грамотно делается. отделять данные пробелами? или есть спец таблицы для этого? можете привести пример хранения и считывания данных в прогу извне?Чтоб так работало?
Ну так вот проект ...
...
Рейтинг: 0 / 0
31.08.2012, 13:32
    #37938729
Qlewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
QValD,

да, разобрался, спасибо) а как правильно прочесть данные, разделённые разным количеством пробелов? например, такие:
1слово 2слово 3слово 4слово 5слово

AndreTM,

через .ini файлы? да, выглядит норм, но обе ссылки на проект, не на исходник
...
Рейтинг: 0 / 0
02.09.2012, 17:06
    #37940477
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
Qlewerобе ссылки на проект, не на исходникИзвиняюсь... Вот
...
Рейтинг: 0 / 0
28.09.2012, 19:06
    #37976464
Qlewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
Код: vbnet
1.
massiv = Split(sLineFromFile, " ")

как теперь пройтись по всем словам в строке? т.е. for x = 1 to ....
massiv.count не канает
...
Рейтинг: 0 / 0
28.09.2012, 19:15
    #37976486
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
Код: vbnet
1.
2.
3.
For Each word In Split(sLineFromFile, " " )
    MsgBox word
Next



Код: vbnet
1.
2.
3.
4.
massiv = Split(sLineFromFile, " ")
For I=0 To Ubound(massiv)
    MsgBox massiv(I)
Next
...
Рейтинг: 0 / 0
28.09.2012, 19:37
    #37976518
stwom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хранение данных вне программы
TpaBkaAccessсолидаризируюсь....:))
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / хранение данных вне программы / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]