Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.11.2010, 15:31
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
Радость чтобы при нажатии на Кнопку создавался в папке с программой файл setup.inf

Как сделать чтобы при нажатии на Кнопку создавался в папке с программой файл setup.inf?

И еще один вопрос:

Я обьявил переменные op, metka, ico и тип tcaption.

Я вписал в FormCreate вот это:

op:=Edit1.text;
metka:=Edit2.text;
ico:=Edit3.Text;

Хочу чтобы в этом файле создавалось вот это:

[Autorun]
open=(здесь что находится в Edit1.text только не в скобках)
label=(здесь что находится в Edit2.text только не в скобках)
icon=(здесь что находится в Edit3.text только не в скобках)

Если возможно скажите как
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #2  
Старый 18.11.2010, 16:37
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

*.inf имеет такую же структуру, как *.ini
Поэтому, можно использовать методы объекта TIniFile.
Типа:
Код:
PutToINI_StringParam('C:\setup.inf','Autorun','open',Edit1.text);;
PutToINI_StringParam('C:\setup.inf','Autorun','label',Edit2.text);;
PutToINI_StringParam('C:\setup.inf','Autorun','icon',Edit3.text);;

...
Uses
  ...
  IniFiles;

procedure PutToINI_StringParam(NameINI,NameTop,NameParam,S : string; YesAllTrimValue:boolean=true);
begin
  if YesAllTrimValue then S:=Trim(S);
  NameINI:=Trim(NameINI);
  NameTop:=Trim(NameTop);
  NameParam:=Trim(NameParam);
  if (length(NameINI)>0) and (length(NameTop)>0) and (length(NameParam)>0) then begin
     with TIniFile.Create(NameINI) do
       begin
         TRY
           WriteString(NameTop,NameParam,S);
         FINALLY
           Free;
         END;
     end;
  end;
end;
Ответить с цитированием
  #3  
Старый 18.11.2010, 16:48
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

куда вот эти строки писать

PutToINI_StringParam('C:\setup.inf','Autorun','ope n',Edit1.text);;
PutToINI_StringParam('C:\setup.inf','Autorun','lab el',Edit2.text);;
PutToINI_StringParam('C:\setup.inf','Autorun','ico n',Edit3.text);;


и еще: мне надо чтобы при нажатии на кнопку создавался этот файл
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #4  
Старый 18.11.2010, 16:54
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

Вот в обработчике OnClick (у кнопки) и пиши эти строки.
Ответить с цитированием
  #5  
Старый 18.11.2010, 17:05
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Спасибо не надо=) Кому надо вот:
Код:
Uses
...
inifiles

procedure TForm1.Button1Click(Sender: TObject);
begin
IniFile:=TIniFile.Create('C:\autorun.inf');
IniFile.WriteString('Autorun','open',Edit1.Text);
end;

Вот еще 2 вопросика возникли пишу вот так:

IniFile:=TIniFile.Create('autorun.inf');
Но у меня в папке с программой он не создается! Помогите

И еще:
Как сделать если файл создался выдавалось сообщение типа Файл успешно создан!
__________________
Начинающий Delphi
Помогаю за Спасибо!

Последний раз редактировалось PaHaNjkee, 18.11.2010 в 17:14.
Ответить с цитированием
  #6  
Старый 18.11.2010, 18:12
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Народ помогите плз) Очень надо...
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #7  
Старый 18.11.2010, 18:31
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

Цитата:
Сообщение от PaHaNjkee
Но у меня в папке с программой он не создается! Помогите
Ini-файл создаётся только когда в него что-нибудь записывается.
Цитата:
Сообщение от PaHaNjkee
Как сделать если файл создался выдавалось сообщение типа Файл успешно создан!
Проверить его наличие:
Код:
if FileExists('C:\autorun.inf') then
  ShowMessage('Файл успешно создан!');

И не забудь освобождать ini-файл после работы:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  IniFile:=TIniFile.Create('C:\autorun.inf');
  IniFile.WriteString('Autorun','open',Edit1.Text);
  IniFile.Free;
end;
Ответить с цитированием
  #8  
Старый 18.11.2010, 18:37
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от ryderx34
Ini-файл создаётся только когда в него что-нибудь записывается.
А как тогда сделать? Если поменять местами.....не прокатит
__________________
Начинающий Delphi
Помогаю за Спасибо!

Последний раз редактировалось PaHaNjkee, 18.11.2010 в 18:40.
Ответить с цитированием
  #9  
Старый 18.11.2010, 18:43
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от ryderx34
И не забудь освобождать ini-файл после работы:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  IniFile:=TIniFile.Create('C:\autorun.inf');
  IniFile.WriteString('Autorun','open',Edit1.Text);
  IniFile.Free;
end;

Ну это я не забыл
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #10  
Старый 18.11.2010, 20:00
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

Цитата:
Сообщение от PaHaNjkee
А как тогда сделать? Если поменять местами.....не прокатит
Просто TIniFile.Create не создаёт сам ini-файл, только объект, который будет работать с файлом. Файл, если он ещё не существует, создаётся при вызове WriteString, WriteInteger, WriteBool и т. д.
Если нужно проверить был ли создан файл проверяй после вызова метода WriteString:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  IniFile:=TIniFile.Create('C:\autorun.inf');
  IniFile.WriteString('Autorun','open',Edit1.Text);
  if FileExists('C:\autorun.inf') then
    ShowMessage('Файл успешно создан!');
  IniFile.Free;
end;
Ответить с цитированием
  #11  
Старый 18.11.2010, 20:14
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Нет, мне по сути надо чтобы файл создался в папке с программой а не на диске C
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #12  
Старый 18.11.2010, 21:00
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

IniFile:=TIniFile.Create(ExtractFilePath(ParamStr( 0)+'\autorun.inf');
Ответить с цитированием
  #13  
Старый 18.11.2010, 21:05
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Большое спасибо! Но вот так правильней будет:
Код:
IniFile:=TIniFile.Create(ExtractFilePath(ParamStr( 0))+'\autorun.inf');
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:07.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025