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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2011, 10:49   #1
romanzi
Пользователь
 
Регистрация: 07.11.2010
Сообщений: 87
По умолчанию n.caption

Цель - сделать так,что бы адрес записывался в n11,если он пустой иначе в n21,но если и он не пустой,то в n31 (извин за плохое объяснение)

Короче у меня ошибки с n31 - либо выкидывает, либо в него ничего не записывает,записывая в n21.

Код:
procedure TForm1.Button1Click(Sender: TObject);

begin
if opendialog1.Execute then
 memo1.Lines.LoadFromFile(opendialog1.FileName);
 OpenDialog1.HistoryList.Insert (0, OpenDialog1.FileName);
 Ini:=TiniFile.Create(extractfilepath(paramstr(0))+'HistoryList.ini');
  if n11.caption='' then
   begin
    n11.Caption:=opendialog1.HistoryList.CommaText;
    Ini.WriteString('Text','1',n11.Caption );
    ini.Free
  end
  else
   begin

    n21.Caption:=opendialog1.HistoryList.CommaText;
    Ini.WriteString('Text2','2',n21.Caption );
         ini.Free;
         if not (n21.Caption='') then
          n31.Caption:=opendialog1.HistoryList.CommaText;
    Ini.WriteString('Text3','3',n31.Caption );
romanzi вне форума Ответить с цитированием
Старый 19.08.2011, 10:54   #2
DenNik2006
Пользователь
 
Аватар для DenNik2006
 
Регистрация: 27.07.2011
Сообщений: 71
По умолчанию

во-первых, я так понял, все деействия после OpenDialog.Execute, зависят от OpenDialog.FileName. а у тебя только этот код зависит от значения Execute
Код:
if opendialog1.Execute then
 memo1.Lines.LoadFromFile(opendialog1.FileName);
нужно весь код после if opendialog1.Execute then заключить в блок begin..end

это для начала, потом возможно появятся новые жуки )))
Техника несовершенна: компьютеру, чтобы прийти в себя, нужно три пальца, человеку - всего два!
DenNik2006 вне форума Ответить с цитированием
Старый 19.08.2011, 11:46   #3
romanzi
Пользователь
 
Регистрация: 07.11.2010
Сообщений: 87
По умолчанию

Мне нужно справиться именно с n31...
Построить окончание кода так,что бы записывалось в n31.caption после того как записалось в 11 и 21....
romanzi вне форума Ответить с цитированием
Старый 19.08.2011, 11:50   #4
DenNik2006
Пользователь
 
Аватар для DenNik2006
 
Регистрация: 27.07.2011
Сообщений: 71
По умолчанию

смотри сюда

Код:
procedure TForm1.Button1Click(Sender: TObject);

begin
if opendialog1.Execute then // если Execute будет равно false
 memo1.Lines.LoadFromFile(opendialog1.FileName);
         // то нижеидущий код все равно выполнится, а это
         // в данном случае логическая ошибка, поскольку FileName = ''
 OpenDialog1.HistoryList.Insert (0, OpenDialog1.FileName);
 Ini:=TiniFile.Create(extractfilepath(paramstr(0))+'HistoryList.ini');
  if n11.caption='' then
   begin
    n11.Caption:=opendialog1.HistoryList.CommaText;
    Ini.WriteString('Text','1',n11.Caption );
    ini.Free
  end
  else
   begin

    n21.Caption:=opendialog1.HistoryList.CommaText;
    Ini.WriteString('Text2','2',n21.Caption );
         ini.Free;
         if not (n21.Caption='') then
          n31.Caption:=opendialog1.HistoryList.CommaText;
    Ini.WriteString('Text3','3',n31.Caption );
Техника несовершенна: компьютеру, чтобы прийти в себя, нужно три пальца, человеку - всего два!
DenNik2006 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить Caption Joystik Общие вопросы Delphi 10 07.05.2010 10:15
caption >>> exe dardreams Win Api 2 11.09.2009 14:55
отюникодить Caption iiunbreakableii Общие вопросы Delphi 4 04.06.2009 09:16
Caption в BitBtn!!! rivers Компоненты Delphi 14 11.08.2008 15:36
caption в цыкле nikleb Общие вопросы Delphi 3 18.04.2008 15:23