| хранение данных в делфи? | Программирование |
|
|
Надо написать простую программу, в ней много переменных значений (просто цифр) какой самый простой способ что бы их хранить, чтобы они тупо не пропадали когда закрываешь прогу, бд прикручивать думаю бессмысленно, поделитесь опытом как бы это сделали вы?
Самый простой - сохраняй данные в обычный текстовик или ini-файл.
все зависит от количества и от размера (типа) переменных
около 100
я тоже об этом думал, а в файле можно какие нибудь каменты вставлять, что бы не запутаться или как нибудь вообще разделить?
Добавлено:
Можно. Только зачем?
так это разве много? ![]()
записываешь в текстовый файл в столбик через writeln, считываешь через readln и все. если нужно, можно и комменты тоже записать.
с .ini немного сложнее, на память сейчас не скажу точно...
я технологию сохранения в файле знаю повернхностно поэтому с трудом представляю как указать чтобы из кучи сплошных цифр определенная переменная взяла определенное значение, а тем более сохранила потом его туда обратно, что делать если нужно работать с числом которое посередине файла?
дело в том, то что придется и считывать все подряд до нужного числа, и перезаписывать весь файл, и если чисел немного, то можно динамически записывать
------
http://xak4ebep.boom.ru/html/untitled31.html
Добавлено:
короче, разбираемся
есть n чисел. создаем массив из n элементов. работаем с числами, попутно (во избежание несохраненных данных в случае ошибок) после каждого изменения инициализируя процедуру перезаписи в файл всего массива. при последующих запусках считываем из файла в массив, работаем. и нумерация в массиве будет, не запутаешься
ясно, значит информацию придеться разом считывать и также разом записывать, спасибо
да. чисел не так уж и много, значит, проблем не будет
main, так я представил решение вопроса. Если что-то не как задумано -- не обессудь. Получилось громоздко, но быстро.
Сделал пустой проект, на нём 2 кнопки. Задал события на нажатие каждой из этих кнопок, на создание формы и на её уничтожение.
При нажатии одной кнопки происходит запись, а на другую повесил считывание пременных из ini.
| У Вас нет прав для просмотра этого текста, пожалуйста, зарегистрируйтесь |
Все сдел, все получилось, спс всем за помощь. Но теперь я делаю другую программу к которой прикручена простенькая(в одну таблицу) бд, все подключил, добавил dbgrid данные видно, но мне надо чтобы одни столбцы заполнялмсь на основе друних по формуле, суммировать числа в таблице, причем чтобы брались не все строки а с определенным критерием в одном из столбцов, подскажите как это сделать, зарание спасибо.
Товарисч main, вижу что ты за програмирование БД взялся не давно, поэтому сразу скажу что тебе нужно определиться с понятием КУРСОР в db.grid, вот его и нужно исп-ть для считывания записи в таблице.
Вот пример сложения целой колонки, складываюся значения в поле Цена.
---
var i,s:integer;
begin
s:=0;
ADOTable1.First;
for i:=0 to ADOTable1.RecordCount-1 do
begin
s:=s+ADOTable1.FieldValues['Цена'];
ADOTable1.Next;
end;
ShowMessage('Цена = '+inttostr(s));
end;
---
здесь ADOTable1.FieldValues['Цена'] является КУРСОР'ом,
а как сделать сложение разных колонок подумай сам.