Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> автоматическая установка ширены Memo, на основании кол-ва символов в БД 
:(
    Опции темы
Zero
  Дата 25.3.2005, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



САБЖ.
Есть mdb-файл. В нём один из атрибутов типа Memo.
Нужно вывести содержимое ячейки в Memo так, чтобы размер Memo при этом автоматически установился и ни каких ползунков при этом быть не должно.
Ширена определяется по размеру экрана, но дальше постоянная.
PM MAIL ICQ   Вверх
p0s0l
Дата 26.3.2005, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Выставляй высоту Memo как произведение строк в мемо (Memo1.Lines.Count) на высоту одной строки...
А ширина должны быть постоянной...

Это сообщение отредактировал(а) p0s0l - 26.3.2005, 20:58


--------------------
С уважением, г-н Посол.
PM   Вверх
Zero
Дата 27.3.2005, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



p0s0l а ты не можеш предположить почему в одних местах высота устанавливается как надо, а в других то не хватает, то перебор.
Хотя по такому коду наверно не определишь, но наверно лучше чем ничего:
Код

//Установить нужную ширену поста
      buf:=FloatToStr(StrToFloat(IntToStr(Say[i].Lines.Count))*13.6);  
      Delete(buf,Pos(',',buf),length(buf));
      if Say[i].Lines.Count>22 then  
        ps[i].Height:=StrToInt(buf);


Это сообщение отредактировал(а) Zero - 27.3.2005, 12:02
PM MAIL ICQ   Вверх
p0s0l
Дата 27.3.2005, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Мдя smile... Классные у тебя манипуляции с числами smile
Причина я думаю в числе 13.6 - откуда его взял ? Если у тебя бывает, что не хватает высоты, значит надо большее число брать... В принципе, его надо определять программно, а не просто так подбирать число экспериментально...



--------------------
С уважением, г-н Посол.
PM   Вверх
Zero
Дата 27.3.2005, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Цитата(p0s0l @ 27.3.2005, 13:40)
В принципе, его надо определять программно, а не просто так подбирать число экспериментально...

Ето как и зачем?
У меня высота офицально, ну покрайней мере в свойстве фонт как по умолчанию поставилось, вроде 12 так я его и не меняю, за исключением того, что числа могут быть заглавными. Но если тут поставить 12, что при большем количестве строк последние не видны становятся. Это опять делфи вроде глючит... smile Или как ты говорил "фича" чтоли... smile
Цитата(p0s0l @ 27.3.2005, 13:40)
Классные у тебя манипуляции с числами

Да блин, вроде где то видел преобразование вещественных чисел в целые, но сюдня целый час переискивал в Фаронове, и как всегда когда что надо никогда не найдёшь, smile Вот и решил что быстрее сам изобрету функцию чем найду. smile
Вообщем если ты знаешь как програамно определить число заместо "13.6", то напиши пожалуйста. smile
А так на всякий случай щас скину тебе на мыло прогу, для наглядности.
PM MAIL ICQ   Вверх
FRAGNATIC
Дата 27.3.2005, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 6
Всего: 11



Цитата
как програамно определить число заместо "13.6"

а Round() не подходит?
PM MAIL   Вверх
Zero
Дата 27.3.2005, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Цитата(FRAGNATIC @ 27.3.2005, 17:05)
а Round() не подходит?

А причём тут раунд и ширена шрифта smile
PM MAIL ICQ   Вверх
FRAGNATIC
Дата 27.3.2005, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 6
Всего: 11



ой точно) вообще я это к тому вместо всех тех манипуляций с цифрами предложил) но он тож не подходит)
PM MAIL   Вверх
Zero
Дата 27.3.2005, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Да мне главное придумать что за месть "13.6" надо ставить, smile а манипуляция с цифрами это фигня.
PM MAIL ICQ   Вверх
Zero
Дата 28.3.2005, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Спасибо большое г-н Посол, теперь всё работает. smile
Только я не пойму, почему твоим способом работает а моим нет, вроде у меня тоже всё достаточно лигично написано? smile
PM MAIL ICQ   Вверх
p0s0l
Дата 28.3.2005, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Цитата(Zero @ 28.3.2005, 21:51)
Только я не пойму, почему твоим способом работает а моим нет, вроде у меня тоже всё достаточно лигично написано?
Не совсем...
У тебя выставляется высота не Memo, а Panel'и, на которой лежит несколько панелей, и на одной из них наше Memo... Поэтому высота главной панели должна высчитываться как высота всех дочерних панелей + высота Memo...




--------------------
С уважением, г-н Посол.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0489 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.