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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2007, 01:27   #1
troo
 
Регистрация: 13.05.2007
Сообщений: 5
Смех Передача параметров программе при её запуске

Может кто-нибуть может кратко, но понятно рассказать о этом?
troo вне форума Ответить с цитированием
Старый 13.05.2007, 12:34   #2
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Цитата:
Сообщение от troo Посмотреть сообщение
Может кто-нибуть может кратко, но понятно рассказать о этом?

Этот пример показывает, как можно сохранять настройки с помощью ini-файла. Ini-файлы удобны тем, что после удаления программы без деинсталяции в реестре не остается "следов". Еще это удобно тем, что для "сброса" настроек программы достаточно удалить ini-файл.
Эта программа сохраняет позицию и размер окна, содержимое поля ввода Edit1, число, введенное в Edit2, флажок CheckBox1, а также содержимое ListBox1 (добавить в него строчку можно, нажав на кнопку).

uses IniFiles;

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  F: TIniFile;
  names: TStringList;
  i: integer;
begin
  F := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'window.ini');

  Form1.Left := F.ReadInteger('position', 'left', 0);
  Form1.Width := F.ReadInteger('position', 'width', 200);
  Form1.Top := F.ReadInteger('position', 'top', 0);
  Form1.Height := F.ReadInteger('position', 'height', 200);

  Edit1.Text := F.ReadString('tools', 'edit1', 'no text');
  Edit2.Text := IntToStr(F.ReadInteger('tools', 'koef', 0));
  CheckBox1.Checked := F.ReadBool('tools', 'check', true);

  names := TStringList.Create;
  F.ReadSection('files', names);
  for i := 0 to Names.Count - 1 do
    ListBox1.Items.Add(F.ReadString('files', names.Strings[i], ''));
  names.Destroy;

  F.Destroy;
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  F: TIniFile;
  i: integer;
begin
  F := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'window.ini');

  F.WriteInteger('position', 'left', Form1.Left);
  F.WriteInteger('position', 'width', Form1.Width);
  F.WriteInteger('position', 'top', Form1.Top);
  F.WriteInteger('position', 'height', Form1.Height);

  F.WriteString('tools', 'edit1', Edit1.Text);
  F.WriteInteger('tools', 'koef', StrToIntDef(Edit2.Text, 0));
  F.WriteBool('tools', 'check', CheckBox1.Checked);

  for i := 0 to ListBox1.Items.Count - 1 do
    F.WriteString('files', 'file' + IntToStr(i+1), ListBox1.Items.Strings[i]);

  F.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Add(Edit1.Text);
end
;
merax вне форума Ответить с цитированием
Старый 13.05.2007, 17:20   #3
troo
 
Регистрация: 13.05.2007
Сообщений: 5
По умолчанию

merax
Я сделал так, как было посоветовано, но при выполнении дэлфи выделяет строку, которую я обозначил так "|||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||| |||||||||||||||||||" и ставит курсор после "var"...
Может я что не так сделал?

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, iniFiles, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
CheckBox1: TCheckBox;
ListBox1: TListBox;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin

var|||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||

F: TIniFile;
names: TStringList;
i: integer;


begin... и т.д.
troo вне форума Ответить с цитированием
Старый 13.05.2007, 17:43   #4
Yogurt
Пользователь
 
Аватар для Yogurt
 
Регистрация: 22.01.2007
Сообщений: 25
По умолчанию

'Var' Должен стоять до begin-а.
Yogurt вне форума Ответить с цитированием
Старый 13.05.2007, 17:54   #5
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
Смех

Цитата:
Сообщение от Yogurt Посмотреть сообщение
'Var' Должен стоять до begin-а.
Верно подметил ха-ха ))).


to troo

Вот опять человек пошел по неправильному пути. Я сомневаюсь что тебе был нужен StringList или еще что-то. Но ты не разобрался в коде а просто его скопировал. Разберись посмотри литературу и все встанет на свои места.

Последний раз редактировалось merax; 13.05.2007 в 17:58.
merax вне форума Ответить с цитированием
Старый 13.05.2007, 21:05   #6
troo
 
Регистрация: 13.05.2007
Сообщений: 5
По умолчанию

Код я внимательно просмотрел и разобрался, просто я только недавно начал учиться работать в дэлфи, поэтому ориентируюсь в коде еще плохо...
troo вне форума Ответить с цитированием
Старый 13.05.2007, 21:13   #7
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Цитата:
Сообщение от troo Посмотреть сообщение
Код я внимательно просмотрел и разобрался, просто я только недавно начал учиться работать в дэлфи, поэтому ориентируюсь в коде еще плохо...
Как же ты разобрался и посмотрел если плохо ориентируешься???? Не понимаю. +1 а вот копировать ориентируешься.
merax вне форума Ответить с цитированием
Старый 13.05.2007, 21:22   #8
troo
 
Регистрация: 13.05.2007
Сообщений: 5
По умолчанию

Цитата:
Сообщение от merax Посмотреть сообщение
Как же ты разобрался и посмотрел если плохо ориентируешься???? Не понимаю. +1 а вот копировать ориентируешься.
)) Я разобрался в том, в чем ориентируюсь. Ну а в том, в чем не ориентируюсь я не разобрался естественно...

Да, еще это не совсем то, о чем я спрашивал. Я имел ввиду следующее:
Жмешь правой клавишей по файлу(например file.txt) - открыть с помощью *моя прога*(например proga.exe).
Запускается прога, но файл не открывает...
Вот я хотел научиться делать так, чтоб мои прилажения умели открывать файлы таким образом. На другом (не специализированном форуме) я узнал, что имя файла виндоус передает прилажению как первый параметр, и вот теперь я пытаюсь как можно больше узнать о передаче параметров программе
troo вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметров aesoem Общие вопросы Delphi 8 15.07.2008 21:51
CDialog передача параметров! mahsus Общие вопросы .NET 4 09.03.2008 17:40
Сохранение параметров программы... Roof Общие вопросы Delphi 10 11.10.2007 08:22
Передача параметров Gudzon Общие вопросы Delphi 12 08.02.2007 08:19
передача объектов как параметров функций в Dll Umen Общие вопросы Delphi 9 12.11.2006 19:31