Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

Сохранение параметров   Найти похожие ветки 

 
JamHole   (2004-04-28 15:35) [0]

Здрасте, уважаемые мастера. Я в делфи не профессионал, но экзамен сдавать надо... Как мне заставить делфи сохранить куда нибудь параметры программы (например шрифт редактора, размер формы и т.п.)? А потом, соответственно, их загрузить? Помогите, пожалуйста! Заранее спасибо.


 
Тимохов ©   (2004-04-28 15:36) [1]

Что конкретно не ясно?


 
Гаврила ©   (2004-04-28 15:37) [2]

Сохраняй в реестр, используй TRegistry


 
Igorek ©   (2004-04-28 15:44) [3]


> JamHole   (28.04.04 15:35)  

Тяни в ран-тайм весь RTTI из проги, загоняй куда-нибуть. При запуске/создании заставь формы читаться из твоего ресурса.
---
имхо


 
Jel ©   (2004-04-28 15:47) [4]


> Тяни в ран-тайм весь RTTI из проги, загоняй куда-нибуть.

Жестко :)


 
Андрей Сенченко ©   (2004-04-28 15:53) [5]

JamHole   (28.04.04 15:35)  

uses ...,IniFiles

...
var
MyIniFile : TIniFile

...
begin
 MyIniFile := TIniFile.Create(ChangeFileExt(paramstr(0),".ini"));
 ...

 MyIniFile.ReadString()
 MyIniFile.ReadInteger()
 MyIniFile.WriteString()
 MyIniFile.WriteInteger()

 ...
end;


+ F1 - там несложно всё.

Сдавай, студент :)


 
Андрей Сенченко ©   (2004-04-28 15:57) [6]

Гаврила ©   (28.04.04 15:37) [2]

Ну не нужно советовать студенту для экзаменационной программы лезть в реестр. Он же сам сказал, что программированием занимается только для сдачи сессии.
Вот полезет он сейчас и по незнанию порушит реестр на машине в вычислительном зале института - кому от этого лучше то будет ?

ИМХО

p.s.

Вы так и не ответили на мой вопрос к Вам заданный в
http://delphimaster.net/view/15-1082981418/

А очень бы хотелось


 
Гаврила ©   (2004-04-28 16:41) [7]

>>Андрей Сенченко ©   (28.04.04 15:57) [6]
Да какая, в принципе, разница в плане сложности - реестр или ини-файл?

А если это для сессии - наверняка спросят
"почему использовали ини-файлы, а не реестр"


 
Гаврила ©   (2004-04-28 16:47) [8]


> p.s.
>
> Вы так и не ответили на мой вопрос к Вам заданный в
> http://delphimaster.net/view/15-1082981418/
>
> А очень бы хотелось


Отсутствие try-finally
минус балл

конструкция

IniFileOld.WriteString(IniSecNew.Strings[CountSec]
                                    ,IniParNew.Strings[CountParNew]
                                    ,copy(IniValNew.Strings[CountParNew],pos("=",IniValNew.Strings[CountParNew])+1,length(IniValNew.Strings[CountParNew])-po  s("=",IniValNew.Strings[CountParNew]))

еще минус балл
вот так и получилось


 
bond   (2004-04-28 16:58) [9]

А я, чтобы не мучаться  создаю запись

Nastroiki = record
 fontname: TString;
 // нууу и т.д.
end;

затем объявляю заполняю эту записть соответствующими настройками и сохраняю её в файл:

F: file of Nastroiki;

Затем этот файл можно прочитать в переменную такогоже типа и ...


 
Андрей Сенченко ©   (2004-04-28 17:01) [10]

Гаврила ©   (28.04.04 16:41) [7]

Да какая, в принципе, разница в плане сложности - реестр или ини-файл?

В плане сложности разницы абсолютно никакой. Разницу я уже указал : Ошибка в использовании TRegistry.DeleteKey и TIniFile.DeleteKey приведет к разным последствиям на общественных машинах ( где и сдаются экзамены )

А если это для сессии - наверняка спросят
"почему использовали ини-файлы, а не реестр"


Шикарный ответ на 5 баллов - потому что если каждый из 500 студентов потока принесет сдавать программу, работающую с реестром - винду во всем машинном зале придется устанавливать заново.

По поводу p.s. - нельзя ли вернуться к указанной ветке ? У меня есть пара вопросов.


 
Anatoly Podgoretsky ©   (2004-04-28 17:09) [11]

Значит за реестр боишься, а не боишься, что таже программа сотрет скажем папку Виндоус?


 
Андрей Сенченко ©   (2004-04-28 17:11) [12]

Anatoly Podgoretsky ©   (28.04.04 17:09) [11]

а не боишься, что таже программа сотрет скажем папку Виндоус?

Используя TIniFile ? не боюсь.


 
Гаврила ©   (2004-04-28 17:28) [13]


> Используя TIniFile ? не боюсь.


А системынй ини-файл попортить ? :-))


 
Андрей Сенченко ©   (2004-04-28 18:32) [14]

Гаврила ©   (28.04.04 17:28) [13]

Сложнее.

TRegistry.deletekey( HKLM + пустая строка + Software, ... )
TIniFile.deletekey( C:\ + пустая строка + Software, ... )  

откуда возьмется пустая строка в студенческой программе, я думаю, Вы догадаетесь


 
Гаврила ©   (2004-04-28 21:24) [15]

>>Андрей Сенченко ©   (28.04.04 18:32) [14]

При считывании \ записи настроек он не будет вызывать deletekey.
Кстати, такой ответ на вопрос, как


> Шикарный ответ на 5 баллов - потому что если каждый из 500
> студентов потока принесет сдавать программу, работающую
> с реестром - винду во всем машинном зале придется устанавливать
> заново.


не прокатит однозначно.
И ему как минимум могут снизить оценку (например с 5 до 4)


> Igorek ©   (28.04.04 15:44) [3]
>
> > JamHole   (28.04.04 15:35)  
>
> Тяни в ран-тайм весь RTTI из проги, загоняй куда-нибуть.
> При запуске/создании заставь формы читаться из твоего ресурса.
> ---

Во первых, все тянуть - это перебор. Это если только компонент писать для этого (типа как в RX). Во вторых, если у автора ветки  возникает такой вопрос, какой тогда нафиг RTTI ? :-)))
> имхо


 
JamHole   (2004-05-01 10:24) [16]

спасибо всем... надеюсь сдам как-нибудь.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.031 c
8-1074102210
miek
2004-01-14 20:43
2004.05.16
Демка "Граффити"


3-1082315311
tERRORist
2004-04-18 23:08
2004.05.16
Названия полей с пробелами в XLReporte


7-1080649393
race
2004-03-30 16:23
2004.05.16
GetForegroundWindow


7-1081011086
Lowmen
2004-04-03 20:51
2004.05.16
Системное контекстное меню


8-1077452218
Cerber
2004-02-22 15:16
2004.05.16
OpenGL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский