ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 11.12.2009, 10:27
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

M_script_ edit1.text - это не переменная, это метод. Который в одном случае возвращает строку, в другом записывает её. И по этому нужно юзать промежуточную переменную.
 

  #12  
Старый 11.12.2009, 16:10
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от slesh  
M_script_ edit1.text - это не переменная, это метод. Который в одном случае возвращает строку, в другом записывает её. И по этому нужно юзать промежуточную переменную.
Ну ты завернул
 

  #13  
Старый 11.12.2009, 17:09
DeaD_MoroZ
Banned
Регистрация: 03.11.2009
Сообщений: 112
Провел на форуме:
98006

Репутация: 17
Отправить сообщение для DeaD_MoroZ с помощью ICQ
По умолчанию

Цитата:
Сообщение от M_script_  
А нельзя сразу написать
if (edit1.text[length[edit1.text]] <> '\') then edit1.text := edit1.text + '\';
?
можно только вот так
if (edit1.text=[length[edit1.text]] <> '\') then edit1.text := edit1.text + '\';
но тогда надо предварительно чо то записать в едит1
 

  #14  
Старый 11.12.2009, 17:14
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме:
4761503

Репутация: 229
По умолчанию

Цитата:
Сообщение от M_script_  
А нельзя сразу написать
if (edit1.text[length[edit1.text]] <> '\') then edit1.text := edit1.text + '\';
?
Можно, но код будет некоторым не приятно воспринимать (по виду), впрочем кому как нравиться - тот так и пишет (да кстати так правильнее будет если смотреть на твой пример:...length(edit1.text)...)

Последний раз редактировалось wolmer; 11.12.2009 в 17:29..
 

  #15  
Старый 12.12.2009, 00:57
M_script_
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме:
1819761

Репутация: 180
Отправить сообщение для M_script_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от slesh  
M_script_ edit1.text - это не переменная, это метод. Который в одном случае возвращает строку, в другом записывает её. И по этому нужно юзать промежуточную переменную.
Я в делфи не работаю, только в билдере, но VCL все равно один и тот же, поэтому не совсем понятно, с каких пор свойство Text класса TEdit стало методом?

На билдере код выглядит так:
Код:
if(Edit1->Text[Edit1->Text.Length()] != '\\') 
	Edit1->Text = Edit1->Text + '\\';
 

  #16  
Старый 12.12.2009, 03:06
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от wolmer  
Можно, но код будет некоторым не приятно воспринимать (по виду)
А код с названиями типа "edit1" по любому неприятно воспринимать
Не говоря уж про то, что функционал программы нельзя смешивать с интерфейсом...
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ