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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2010, 09:13   #1
foxes
Пользователь
 
Регистрация: 14.11.2008
Сообщений: 94
По умолчанию *.ini файл

Как сделать при нажатий кнопки запускать из ini файла силку

Link.ini
Код:
[mail]
Link=http://www.programmersforum.ru
Код:
procedure TForm2.btnClick(Sender: TObject);
begin
 ini.writeString('name','mail','www.programmersforum.ru');
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
ini:= TIniFile.Create( 'link.ini');
end;
foxes вне форума Ответить с цитированием
Старый 24.10.2010, 09:22   #2
ProgDel
Пользователь
 
Аватар для ProgDel
 
Регистрация: 15.02.2010
Сообщений: 67
По умолчанию

Ссылка должна быть в HTML- файле! А не в ini.
ProgDel вне форума Ответить с цитированием
Старый 24.10.2010, 09:26   #3
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Код:
uses INIFiles;

var aLink: string;

//Прочитать и запустить
  var INI: TINIFile;
begin
   INI := TIniFile.Create(ChangeFileExt(ParamStr(0),'ini'));
   aLink := INI.ReadString('mail','Link','');
   INI.free;
   ShellExecute (Form1.Handle, nil, Pchar(aLink), nil, nil, SW_RESTORE);
end;

//Записать
  var INI: TINIFile;
begin
   INI := TIniFile.Create(ChangeFileExt(ParamStr(0),'.ini'));
   INI.WriteString('mail','Link',aLink);
   INI.free;
end;
_SERGEYX_ вне форума Ответить с цитированием
Старый 24.10.2010, 09:37   #4
foxes
Пользователь
 
Регистрация: 14.11.2008
Сообщений: 94
По умолчанию

Большое вам спасибо ! но не хочет запускать ссилку

Последний раз редактировалось mihali4; 24.10.2010 в 13:20.
foxes вне форума Ответить с цитированием
Старый 24.10.2010, 09:49   #5
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

В раздел Uses добавь ShellAPI

Последний раз редактировалось mihali4; 24.10.2010 в 13:21.
_SERGEYX_ вне форума Ответить с цитированием
Старый 24.10.2010, 09:53   #6
foxes
Пользователь
 
Регистрация: 14.11.2008
Сообщений: 94
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
В раздел Uses добавь ShellAPI
Я так и делал!
Код:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IniFiles, StdCtrls, Buttons, ShellAPI;

type
  TForm2 = class(TForm)
    BitBtn1: TBitBtn;
    procedure btnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;
  ini:tinifile;
  aLink: string;
implementation

{$R *.dfm}

procedure TForm2.btnClick(Sender: TObject);
begin
   INI := TIniFile.Create(ChangeFileExt(ParamStr(0),'ini'));
   aLink := INI.ReadString('mail','Link','');
   INI.free;
   ShellExecute (Form2.Handle, nil, Pchar(aLink), nil, nil, SW_RESTORE);
end;


end.
foxes вне форума Ответить с цитированием
Старый 24.10.2010, 10:05   #7
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Хм... аааа, понял...
INI := TIniFile.Create(ChangeFileExt(Param Str(0),'.ini'));
Перед '.ini' точку забыл поставить.
_SERGEYX_ вне форума Ответить с цитированием
Старый 24.10.2010, 10:06   #8
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

быыдлокодовский вариант
Код:
unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,inifiles,shellapi, StdCtrls;

type
  TForm4 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;
  link:string;
implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);
var
ini:tinifile;
i:integer;
begin
 ini:=tinifile.Create(extractfilepath(paramstr(0))+'file.ini');
 for I := 0 to componentCount - 1 do

 link:=ini.ReadString('link',tbutton(components[i]).name,tbutton(components[i]).caption);
 shellexecute(handle,nil,pchar(link),nil,nil,sw_normal);

end;

end.
структура иника
Код:
[link]
button1=http://dsvload.net
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 24.10.2010, 10:19   #9
foxes
Пользователь
 
Регистрация: 14.11.2008
Сообщений: 94
По умолчанию

Странно, не запускает, а открывает каталог где находится ini
foxes вне форума Ответить с цитированием
Старый 24.10.2010, 12:02   #10
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
открывает каталог где находится ini
Значит, программа не видит ини-файл.
Поставь точку останова на строке
aLink := INI.ReadString('mail','Link','');
и увидишь, что aLink:='' (пустое значение).
Выполни код
Код:
ShellExecute (Form2.Handle, nil, 'http://www.programmersforum.ru', nil, nil, SW_RESTORE);
и убедись, что все работает нормально.
_SERGEYX_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ini файл MAZADA Помощь студентам 5 03.10.2010 14:57
INI файл Pang Общие вопросы Delphi 2 13.05.2010 21:36
INI файл! Stranger333 Помощь студентам 5 14.03.2010 19:07
Ini файл Baaandit Общие вопросы Delphi 8 23.11.2009 14:30
ini файл Simply-Art Общие вопросы Delphi 3 17.06.2007 14:43