krapotkin
-
Постов
2 184 -
Зарегистрирован
-
Посещение
-
Победитель дней
209
Сообщения, опубликованные krapotkin
-
-
Вы вообще не читаете? я и ссылку дал. LoadFromStream находится прямо рядом с LoadFromFile. Мы, надеюсь, о Stream говорим, когда имеем в виду "поток" ?
И файл это никакие не строки бинарного кода. Это полная чушь. Файл это просто сырые данные, набор байтов.
А строки как таковые - это понятие, которое вводится специально, с описанием, что имеется в виду, в каком формате хранится, и как с этим работать.
Так что нет. Совсем нет.
-
ваш пример у меня вызывает вопрос - откуда у вас в jpg файле строки, которые вы так лихо загружаете в TStrings?
и что вам мешает сделать просто S.LoadFromFile() ??
более того, и SaveToFile тоже есть. Вполне полноценный
ну и предполагается что оф справка должна быть изучена ДО вопросов на форуме
http://docwiki.embarcadero.com/Libraries/Sydney/en/System.Classes.TStrings_Methods
-
рисовать надо в OnPaint конечно, никакой таймер не подойдет
лучше всего для этого подойдет PaintBox
-
не fon.create а fon := TBitmap.Create
причем это не зависит от платформы
-
Судя по всему, вы используете версию Community Edition, в которой функциональность FireDAC урезана.
Об этом нам и говорит сообщение "Клиент PosgreSQL - 32 бит ODBC. 64 бит FireDAC недоступен для Community Edition."
Для взаимодействия с сервером вам нужна полная версия Rad Studio.
-
А разве bmp вообще на Android поддерживается??
Да и не нужны в этом приложении ресурсы как в Windows.
Есть Deployment, это более современный способ помещения данных в проект.
Кроме того, обращение к переменной класса Form1 в методе класса TForm1 - это ошибка.
Перегружать рисование формы -FormPaint тоже не из этого мира. Это все должно остаться в VCL / WinApi
Давайте сначала начнем - что хотели сделать изначально?
-
достану, открою на 10.4, как будет время
-
предположу, что у вас отдельная и уникальная версия, иначе интернет был бы забит такими сообщениями
-
имя - это
D:
???
-
насколько я помню код - они там сначала прячутся, потом появляются. да еще и со сменой высоты. Я уже не помню подробности, но там было все абсолютно логично.
В общем, опять копаться лень. Применяй хотя бы вариант 2 и все бует норм.
-
тут есть всего два варианта)
либо пользоваться тем что есть
либо нет
А отладчик в 10.3/4 и под Windows очень необычно себя ведет. Но вроде работает.
P.S.
Делфи и AS в очередной раз ставил и настраивал SDK/DK на чистом компе на прошлой неделе. Опять работает. Что-то я делаю не так.
-
Зря)
Все очень просто.
Дано
Rb1, Rb2. Align = TOP, Visible = true
Код Rb1.Visible := false; Rb1.Visible := true; приведет к очень интересному результату:
Когда исчезнет rb1, rb2 подтянется на самый верх, т.е. RB2.position.Y станет = 0.
Теперь rb1 появляется и position.Y у него не меньше чем у RB2. Следовательно, rb1 автоматически отодвинется вниз.
Собсно, всё.
Выходов из ситуации несколько
1) "Нормальный": создавать RB или Layout c RB или фрейм по необходимости. И последовательно присваивая position.Y := 1000000 они сами будут подтягиваться наверх
2) "И так сойдет": явно пробежать по видимым RB и расставить им Position.Y опять же 1000000 чтобы они подтянулись наверх в нужном порядке
3) "Гибридный": всегда использовать RB по порядку. В первом - первый вопрос, во втором второй и т.д. Лишние снизу - прятать
-
вроде же с этим вопросом разобрались давно?
-
что показывает функция TDirectory->GetFiles(TPath->GetHomePath()) ?
-
ну так же этот вопрос и надо задавать себе изначально.
-
-
-
тут есть исходники в конце темы, смотрите, разбирайтесь.
я за источник брал инфу из видеоhttp://fire-monkey.ru/topic/5519-фреймворк-для-стандартного-listview/#comment-34912
-
ответ TGlyph
-
разрешения запрошены ?
-
Общий сценарий для любых компонентов:
Идем в его исходники и ищем метод ApplyStyle
Там так или иначе перечисляются все названия стилей, которые компонент ищет в ресурсах и использует для своей отрисовки. Тут хочешь не хочешь, придется немного разобраться что для чего предназначено.
Соответственно, далее идем в редактор стилей и эти ресурсы изменяем под свои нужды.
Если компонент включает в себя другие компоненты (например listview содержит в себе набор listViewItem), то рекурсивно повторяем операцию и для вложенных компонентов.
Если все еще не получилось, можно пойти наоборот, в предка данного объекта и посмотреть, а не задается ли нужное свойство в стилях предка.
Вот такой алгоритм.
Вам нужно найти, где задается фон для ListView и фон для ListViewItem. Попробуйте. Не выйдет, пишите сюда.
-
самое простое (по мне лично) взять и положить на него новый объект типа крашеный прямоугольник.
Свой класс объектов для listView можно создать аналогично тем, что есть в delphi, унаследовав от TDrawable
https://www.youtube.com/watch?v=XRj3qjUjBlc
-
нет. готовых компонентов, которые позволяют не держать в памяти полную модель данных, вы, скорее всего не найдете.
ListView всего лишь не создает ненужные компоненты для каждого item, как это делает ListBox, но данные для своего отображения может запросить любые в любой момент. В принципе, это достаточная виртуализация imho
Кроме того для десктопа пара тысяч элементов в ListView особых проблем обычно не вызывает
-
в документации есть
и поиск находит целую кучу
ну и TNetHttpClient в целом не особо нужен, это визуальный компонент - обертка для THttpClient
Как перевести данные из TStrings в TMemoryStream?
в Прочие вопросы
Опубликовано
по какому протоколу? голый TCP?
Передавать вы все равно будете скорее всего либо TStream либо TBytes.
Если у вас есть TStream, то вам нужно его часть скопировать в другой TStream, и его отослать. Опять же в документации http://docwiki.embarcadero.com/Libraries/Sydney/en/System.Classes.TStream.CopyFrom
То же самое можно сказать и насчет TBytes http://docwiki.embarcadero.com/Libraries/Sydney/en/System.Classes.TStream.ReadBuffer
Играйтесь на здоровье. Но реализация собственного протокола обмена это всегда гораздо больший геморрой, чем например использование http
Ну и конечно TStrings тут вообще никаким боком...