Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2012, 17:18   #1
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
Счастье Сохранение цвета формы в ini-файлы

Привет. Я пишу программу с настройкой цвета формы и возникла проблема сохранения и открытием. Вот код сохранения:
Код:
if FileExists(ExtractFilePath(Application.ExeName) + 'Настройки/FormColor.ini') then
begin
DeleteFile(ExtractFilePath(Application.ExeName) + 'Настройки/FormColor.ini');
c:=Form1.Color;
assignfile(f, ExtractFilePath(Application.ExeName) + 'Настройки/FormColor.ini');
rewrite(f);
write(f, c);
closefile(f);
end
else
begin
c:=Form1.Color;
assignfile(f, ExtractFilePath(Application.ExeName) + 'Настройки/FormColor.ini');
rewrite(f);
write(f, c);
closefile(f);
end;
И открытия:
Код:
if FileExists(ExtractFilePath(Application.ExeName) + 'Настройки/FormColor.ini') then
begin
AssignFile(f, ExtractFilePath(Application.ExeName) + 'Настройки/FormColor.ini');
Reset(f1);
read(f1, c);
CloseFile(f);
Form1.Color:=c;
end;
Выдает ошибку: О несовместимости типо string и TColor. И обратно. Как сделать чтобы TColor переводился в String или Integer если надо?
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 22.09.2012, 17:27   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Watta*ukka...
Это что? Ты слышал про класс TIniFile специально предназначенный для INI файлов?
Если нет - рекомендую ознакомиться с его спецификацией.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.09.2012, 17:29   #3
NaumOff
Пользователь
 
Регистрация: 25.07.2011
Сообщений: 48
По умолчанию

TColor это обычное 4байтовое число.
Код:
Form1.Color:= StrToInt(c)
Ну и Стилет прав, так с ини не работают.
Код:
function ReadIni(ASection, AString: string): string;
                var
                   sIniFile: TIniFile;
                   sPath: string[60];
                const
                S = '0'; { стандартная строка для выдачи ошибок чтения }
            begin
                GetDir(0, sPath); { текущий каталог }
                sIniFile := TIniFile.Create(sPath + '\Settings.ini');
                Result := sIniFile.ReadString(ASection, AString, S); { [Section] String=Value}
                sIniFile.Free;
            end;

procedure WriteIni(ASection, AString, AValue: string);
                var
                sIniFile: TIniFile;
                sPath: string[60];
            begin
                GetDir(0, sPath); { текущий каталог }
                sIniFile := TIniFile.Create(sPath + '\Settings.ini');
                sIniFile.WriteString(ASection, AString, AValue); { [Section] String=Value }
                sIniFile.Free;
            end;
Как то так.

Последний раз редактировалось NaumOff; 22.09.2012 в 17:37.
NaumOff вне форума Ответить с цитированием
Старый 22.09.2012, 17:30   #4
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Watta*ukka...
Это что? Ты слышал про класс TIniFile специально предназначенный для INI файлов?
Если нет - рекомендую ознакомиться с его спецификацией.
Нужно просто перевести цвет формы, а с сохранением я сам разберусь. Просто изменить тип TColor на String

я работаю по своему и всё робит
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.

Последний раз редактировалось Stilet; 22.09.2012 в 17:36.
саша40 вне форума Ответить с цитированием
Старый 22.09.2012, 17:36   #5
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

я просто сохраняю и читаю переменую. Вопрос можно ли её сохранить в типе TColor в ini, если f типа TextFile?
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 22.09.2012, 17:37   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Просто изменить тип TColor на String
IntToStr тебе в помошь. Именно наименования констант цветов ты врядли получишь - только их целочисленный эквивалент.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.09.2012, 17:40   #7
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Всё проблему сам решил. Просто изменил тип String на TColor в переменой и всё заробила. Вот так:
Код:
var
...//переменые
c: TColor;
begin
...
end;
Тему можно закрыть.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 23.09.2012, 17:11   #8
hacker_007
Пользователь
 
Регистрация: 18.09.2011
Сообщений: 17
По умолчанию

На ciberforum`е забанили, ты сюда пришел)) Я же тебе кидал ссылку с подробным описанием работы с ini... Чё ты быдлокодерством занимаешься) ПОВТОРЮ
hacker_007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение списка Listbox в ini dani92 Общие вопросы Delphi 22 24.09.2010 12:17
сохранение настроек в ini IpCod Общие вопросы Delphi 14 05.10.2009 23:01
Сохранение из ListBox в *.ini файл xLoMMx C++ Builder 11 26.08.2009 14:00
Как сделать границы формы другого цвета,формы?? Дима я Общие вопросы Delphi 3 22.06.2009 07:24
Сохранение цвета и ширфта Копоть Артём Помощь студентам 3 16.04.2009 10:36