Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Узнать длину для атрибута формы (число прочтений - 3896 )
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Узнать длину для атрибута формы
25. Июня 2007 :: 22:38
Печать  
Лех, понадобилось у атрибута формы узнавать, неограниченной ли он длины.
Ты такой фичи не делал? Я подобного свойства не нашел ни в хелпе, ни хистори.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать длину для атрибута формы
Ответ #1 - 26. Июня 2007 :: 05:27
Печать  
Не делал такого.
  

FormEx developer
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать длину для атрибута формы
Ответ #2 - 26. Июня 2007 :: 06:06
Печать  
ИМХО можно попытаться вывернуться так -
1) запоминаем у атрибута старое значение
2) присваиваем ему новую, очень длинную строку, длина больше 255
3) получаем значение из атрибута.
4) Сравниваем длину полученного значения и длина значения в п.2
Получаем нужный результат
5) восстанавливаем значение из п.1
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать длину для атрибута формы
Ответ #3 - 26. Июня 2007 :: 06:08
Печать  
Вообще-то, можно проще. Просто проверить длину значения реквизита. У ограниченной строки пустое место пробелами добивается.
Если я, конечно, не ошибаюсь.
  

FormEx developer
Наверх
www  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать длину для атрибута формы
Ответ #4 - 26. Июня 2007 :: 06:10
Печать  
artbear писал(а) 26. Июня 2007 :: 06:06:
ИМХО можно попытаться вывернуться так -
1) запоминаем у атрибута старое значение
2) присваиваем ему новую, очень длинную строку, длина больше 255
3) получаем значение из атрибута.
4) Сравниваем длину полученного значения и длина значения в п.2
Получаем нужный результат
5) восстанавливаем значение из п.1


Модифицированность формы еще придется запоминать и восстанавливать.
Да, ввиду ограничености платформы, мозх 1С-ника как только ни извернется  Подмигивание
В принципе это вариант, спасибо Улыбка
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать длину для атрибута формы
Ответ #5 - 26. Июня 2007 :: 06:13
Печать  
Цитата:
Вообще-то, можно проще. Просто проверить длину значения реквизита. У ограниченной строки пустое место пробелами добивается.
Если я, конечно, не ошибаюсь.


Проверил, точно! Надо просто проверять равно ли СокрЛП(Поле) = Поле

А если поле ограниченной длины забито под завязку, то не прокатит Печаль
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать длину для атрибута формы
Ответ #6 - 26. Июня 2007 :: 06:14
Печать  
Цитата:
Вообще-то, можно проще. Просто проверить длину значения реквизита. У ограниченной строки пустое место пробелами добивается.
Если я, конечно, не ошибаюсь.

ИМХО неверно.
Представь, у атрибута задана длина 12, задаю строку "Ограниченная", т.е. полностью забиваю на всю длину.
Как из подобного значения узнать, что строка ограничена или нет? Улыбка

ЗЫ надеюсь, мы говорим в терминах кода 1С, а не о внутреннем коде ? Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать длину для атрибута формы
Ответ #7 - 26. Июня 2007 :: 06:38
Печать  
У меня задача такая, в ПослеОткрытия я обхожу все все видимы и доступные атрибуты формы, и если это поле ввода с неограниченной длиной, то мне надо расставить рядом маленькие кнопки для быстрого выбора сохраненных ранее значений.

Есть еще вариант как попробовать решить этот момент. Упросить Алексея, чтобы он выбрал время сделать еще одно свойство у Атрибута Улыбка
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Узнать длину для атрибута формы
Ответ #8 - 26. Июня 2007 :: 07:03
Печать  
Заполнять не строкой длиннее 255 а наоборот
Код
Выбрать все
Запомним = ПроверяемыйАтр;
ПроверяемыйАтр = "";
Если ( СтрДлина(ПроверяемыйАтр) = 0 ) Тогда
    //-- этот реквизит не ограниченной длины 

  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать длину для атрибута формы
Ответ #9 - 26. Июня 2007 :: 07:40
Печать  
dnp писал(а) 26. Июня 2007 :: 07:03:
Заполнять не строкой длиннее 255 а наоборот
Код
Выбрать все
Запомним = ПроверяемыйАтр;
ПроверяемыйАтр = "";
Если ( СтрДлина(ПроверяемыйАтр) = 0 ) Тогда
    //-- этот реквизит не ограниченной длины 


+1
Да, этот способ сработает Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Узнать длину для атрибута формы
Ответ #10 - 26. Июня 2007 :: 20:15
Печать  
В принципе целью было узнать не длину, а многострочный ли он.
И я нашел способ, о котором все забыли, в т.ч. наверное и Альф Улыбка

Стиль и РасширенныйСтиль атрбибута.

Я им собственно и не пользовался до сих пор Улыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать