Помогите, пожалуйста, новичку.
Пользую Hiasm уже пол-года, не из любви к программированию, а по необходимости. Штатные программисты нашей организации заняты в своей сети благополучием сети, забывая о тех, для кого эта сеть создана. Но я в восторге от того, что не имея времени на изучение языков могу помочь своим коллегам создавая серьёзные приложения в Hiasm, необходимые им в работе. Огромное спасибо создателям Конструктора.
Я написал программу подготовки текстов "бегущей строки" и управления системой графики при выводе этих строк в прямом эфире. Почему писал сам, а не воспользовался опытом BBC или CNN - другая тема. Вкратце - у них нет той оперативности, какая требуется у нас. Программа почти готова, но...
Возникла необходимость в загрузке кусков стандартного неформатированного текста в строковую таблицу (какую - подскажите), где первым столбцом было бы, скажем, количество сомволов или слов (это неважно, с этим я справлюсь), а следующим - сами строки, но не одной строкой каждая, а как, скажем, в Memo с автопереносом по ширине столбца. Надеюсь, я понятно поставил вопрос.
С благодарностью приму любые советы.
Этот топик читают: Гость
Ответов: 49
Рейтинг: 11
|
|||
карма: 1 |
|
Разработчик
Ответов: 26153
Рейтинг: 2127
|
|||
vovcheck писал(а): но не одной строкой каждая, а как, скажем, в Memo с автопереносом по ширине столбцаНи одна стандартная таблица HiAsm-a не поддерживает динамически изменяемый мультистрочный текст. Такое можно реализовать только на элементах такого типа, как Memo |
|||
карма: 22 |
|
Ответов: 49
Рейтинг: 11
|
|||
Спасибо.
Тогда возможно ли организовать табличное построение такого интерфейса на Memo, как я понимаю динамически создавая их на панели со скроллингом? Общий объём текста достигает 10-15 тыс.символов, на каждый блок - до 2000. К этому агрегату я буду приделывать возможность редактирования с контролем объёма текста для каждого блока. |
|||
карма: 1 |
|
Разработчик
Ответов: 26153
Рейтинг: 2127
|
|||
Я вот одного не пойму -- зачем вот это надо
vovcheck писал(а): где первым столбцом было бы, скажем, количество сомволов или слов |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
nesco писал(а): Я вот одного не пойму -- зачем вот это надо |
|||
карма: 25 |
|
Ответов: 49
Рейтинг: 11
|
|||
На самом деле в первом столбце время прохождения данной строки по экрану. Известно, что текст проговаривается диктором на 25% быстрее, чем он проходит по экрану, значит редактор перед эфиром (а у нас будет и во время эфира) должен сократить текст на те же 25% без потери смысла. В этом смысл и есть. Дело нужное, у нас огромное количество глухонемых.
------------ Дoбавленo в 00.55: Каждый блок текста пройдёт по экрану одной длинной строкой. |
|||
карма: 1 |
|
Разработчик
Ответов: 26153
Рейтинг: 2127
|
|||
vovcheck писал(а): Каждый блок текста пройдёт по экрану одной длинной строкойА зачем тогда мультистрочный текст в таблице |
|||
карма: 22 |
|
Ответов: 49
Рейтинг: 11
|
|||
Этот текст как мультистрочный нужен редактору. Ему же сокращать, заменять фразы и менять предложения местами. И всё это внутри каждого блока-строки.
|
|||
карма: 1 |
|
Разработчик
Ответов: 26153
Рейтинг: 2127
|
|||
А почему нельзя сделать таблицу отдельно, а поле текщего редактирования в Memo рядом Клацнул по строке и получил текст в Memo.
|
|||
карма: 22 |
| ||
Голосовали: | vovcheck |
Ответов: 49
Рейтинг: 11
|
|||
Я тоже предлагал эту идею, да им надо видеть и соседние блоки тоже. В идеале они желали вообще редактирование текста в одном большом текстовом окне, НО с контролем длины каждого отделённого блока. Я не нашел пути и предложил им в окне исходного текста Memo разбить на блоки, а переданные блоки в строковую таблицу вызывать кликом на редактирование в другой Memo, уже с подсчётом "перебора" блока по времени.
И всё же интересно, насколько сложно неподготовленному юзеру создать механизм создания нового Memo для каждого нового блока текста, отделённого редактором в окне исходного текста, выстраивая их на панели со скроллингом? Или же оставить эту затею и итти вышеописанным путём? ------------ Дoбавленo в 01.43: Я понимаю, потребуется всё же поизучать Delphi и генерировать новые объекты в помощью Inlinecode. |
|||
карма: 1 |
|
Разработчик
Ответов: 26153
Рейтинг: 2127
|
|||
vovcheck писал(а): Я понимаю, потребуется всё же поизучать Delphi и генерировать новые объекты в помощью InlinecodeСовсем, не обязательно. Идея с Memo интересная, но есть одно "но" -- потреблнение ресурсов GDI на каждый созданный контрол Memo, для десяти немного, а для 2000, даже представить сложно ------------ Дoбавленo в 01.53: vovcheck писал(а): В идеале они желали вообще редактирование текста в одном большом текстовом окне, НО с контролем длины каждого отделённого блокаА тут я не понял -- в чем проблема и как это приблизительно должно выглядеть Это что -- каждый блок идет строкой и в реалтайме подсичтывается количество слов в строке |
|||
карма: 22 |
|
Ответов: 49
Рейтинг: 11
|
|||
nesco писал(а): для десяти немного, а для 2000, даже представить сложноТаких блоков - не более 25 за выпуск новостей, т.ч. не страшно. nesco писал(а): каждый блок идет строкой и в реалтайме подсичтывается количество слов в строкеПодготовленный блок горячей клавишей толкается в сеть по UDP серверу-автомату по выдаче этих строк. Скорость скролла у него фиксированная - 1000 символов за 60 секунд (в среднем - ведь есть .;, а есть и Ж, Щ) |
|||
карма: 1 |
|
Разработчик
Ответов: 26153
Рейтинг: 2127
|
|||
vovcheck, ты не ответил на вопрос -- что такое "редактирование текста в одном большом текстовом окне"
|
|||
карма: 22 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-03 16:36:33 |
|||
карма: 0 |
|
Разработчик
Ответов: 26153
Рейтинг: 2127
|
|||
Хреново то, что я не представляю толком, что конкретно надо. Вот если бы проектик набросал -- вот так-то это предполагается сделать, но вот тут не получается чего-то, ну... и так далее
|
|||
карма: 22 |
|